11 Alexandria – Release 3

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Hilfe für RAD Studio Athens

Nach oben zu Neuerungen in den letzten Releases

Aktualisiertes Release von RAD Studio 11.3 Athens verfügbar (27. Februar 2023).

Hinweis:

Wichtige Verbesserungen in 11.3 nach Produktbereich

RAD Studio 11 Alexandria – Release 3 (alias 11.3) ist für die Installation verfügbar. RAD Studio 11.3 ermöglicht die Anpassung des Aussehens und Verhaltens des Quelltext-Editors mit der neuen ToolsAPI und die Verwendung der Funktion zum Hervorheben übereinstimmender Wörter im Quelltext-Editor. Zudem enthält 11.3 die neue Komponente "Biometrische Autorisierung" für mobile Plattformen sowie eine Vielzahl Qualitäts- und Leistungsverbesserungen in Delphi LSP und den verschiedenen RAD Studio-Bibliotheken.

Der Fokus von RAD Studio 11.3 wurde überwiegend auf Qualitätsverbesserungen gelegt. Zu den wichtigsten Qualitätsbereichen zählen:

Sowie einige neue Features:

Erweiterungen für die IDE

ToolsAPI-Unterstützung für den Quelltext-Editor

RAD Studio 11.3 enthält einen vollständigen, umfassenden und sehr detaillierten Satz von Tools-API-Interfaces, mit dem Benutzer den Quelltext-Editor anpassen können, wie z. B. zeichnen, Informationen über Editoren und deren Inhalte abfragen, Ereignisse für den Quelltext-Editor abrufen und vieles mehr.

Einige der interessantesten und nützlichsten Plugins arbeiten im Editor. Deshalb ist RAD Studio darauf ausgerichtet, einen vollständigen und nützlichen Satz von APIs bereitzustellen, um eine umfassende Abdeckung der Daten und der Darstellung des Quelltext-Editors zu bieten. Damit steht nicht nur eine offiziell unterstützte API für Plugins zur Verfügung, für deren Funktion früher Hacks erforderlich waren, sondern mit der neuen API ist es auch sehr einfach, direkt in den Quelltext-Editor integrierte Plugins zu schreiben. Es ist eine so leistungsstarke API, dass wir mehrere Editor-Funktionen auf sie umgestellt haben. Wir hoffen, dass die neue API Innovationen bei Plugins und Produktivitäts-Add-ons inspiriert, und wir sind sehr gespannt darauf, was Sie und andere sich einfallen lassen!

Diese APIs ermöglichen es Benutzern, alle Phasen des Zeichnens im Editor abzufangen, entweder nach Editorzeile, Editorleiste oder Editortext und mit Ereignissen, die sowohl vor als auch nach jeder Phase aufgerufen werden, um entweder der IDE eine bestimmte Funktionalität hinzuzufügen oder diese zu ersetzen.

Benutzer können den Status eines Editors auf eine Fülle von verfügbaren Informationen sowie einen detaillierteren Status für jede Zeile abfragen. Zeichnen-Ereignisse umfassen den vollständigen Kontext. Damit können Sie sämtliches denkbares Zeichnen im Editor ausführen oder alle Informationen über Editoren und deren Inhalt abrufen, auch ohne zu zeichnen.

Die neue Unit ToolsAPI enthält die Dokumentation für ihre Klassen, Methoden und Eigenschaften. Erkunden und nutzen Sie die neuen APIs:

Wir empfehlen dringend, für alle Plugins oder Add-ons von Drittanbietern, die im Quelltext-Editor zeichnen, diese neuen Interfaces zu verwenden.

Hervorheben übereinstimmender Wörter im Quelltext-Editor

Mithilfe eines neuen Features im Quelltext-Editor von RAD Studio können Sie nun Vorkommen eines Wortes, das Sie ausgewählt haben oder in dem sich der Cursor befindet, auf dem Bildschirm hervorheben. Übereinstimmende Wörter werden überall auf dem Bildschirm hervorgehoben, auch in Kommentaren. Das Feature verfügt über die folgenden Optionen:

  • Übereinstimmende Wörter hervorheben, wenn ein Wort ausgewählt ist (doppelklicken, um ein Wort auszuwählen).
  • Übereinstimmende Wörter hervorheben, wenn sich der Cursor in einem Wort oder direkt daneben befindet. Das Feature kann – wenn gewünscht – deaktiviert werden.
  • Die Funktion zum Hervorheben übereinstimmender Schlüsselwörter mit der UI-Einstellung deaktivieren. Diese ist standardmäßig aktiviert.

Delphi LSP

Im Release 11.3 RAD Studio wurde großen Wert auf die Qualität und das Beheben von Problemen gelegt.

Zu den Verbesserungen von Delphi LSP gehört ein deutlicher Fokus auf Qualität. Wichtige Probleme wurden behoben. Außerdem wurden die folgenden Elemente hinzugefügt:

  • Das Fenster der Symbolbeschreibung verwendet eine andere Methode zum Berechnen seiner Größe und wird nun viel besser dem Inhalt gerecht.
  • Das Zeigen auf die Implementierung einer statischen Methode mit der Maus funktioniert wie erwartet.
  • Die Navigation mit Strg+links Klick funktioniert in einer schreibgeschützten Datei wie erwartet.
  • Beim Drücken der Eingabetaste in einer unvollständigen anonymen Methode fügt die IDE kein falsches Semikolon mehr hinzu (“end;”).
  • Ein Problem, bei dem die Navigation mit Strg-Klick nicht funktioniert hat, wenn der Navigationsbereich von Compiler-Direktiven umgeben war, wurde behoben. Der Parser kann jetzt mit einfachen bedingten Compiler-Direktiven umgehen, wie z, B.:
{$IF CompilerVersion > 24 and Defined(Windows)}
Hinweis: Das wirkt sich nicht auf das Parsen von Direktiven in der uses-Klausel aus, wenn Units durch die IDE hinzugefügt werden, die ein Nicht-DelphiLSP-System verwenden.
  • Bei der Codevervollständigung generischer Typen mit der Programmierhilfe in einer generischen Methodendeklaration funktioniert nun der Ergebnistyp und die generische <>-Typdeklaration:
function Test<TResult>(a: T): TResult; // TResult now suggested in both places.
  • Es wurde ein Problem behoben, bei dem DelphiLSP den Pfad zum Quelltext eines Moduls nicht ermitteln konnte, wenn mehrere Dateien mit demselben Namen in verschiedenen Projekten vorhanden waren.
  • Es wurde ein Problem behoben, bei dem die Programmierhilfe in einer if-Anweisung nicht funktioniert hat, wenn in deren Bedingung die Symbole < oder > verwendet wurden.
  • Bei der Vervollständigung einer Typdeklaration werden in diesem Typ als "private" deklarierte Typen in der Programmierhilfe nicht angezeigt.

Subversion

Ab diesem Release wird RAD Studio nicht mehr mit den Subversion-DLLs ausgeliefert, sodass Sie Subversion selbst installieren müssen, falls gewünscht. Wie für Git und Mercurial sucht die IDE nach deren zuvor konfigurierten Speicherort. Das bedeutet, dass die Subversion-Version nicht mit der IDE-Version korreliert und separat auf dem neuesten Stand gehalten werden kann.

IDE für High DPI, VCL-Formular-Designer und Qualität

Dieses Release bietet einige Verbesserungen hinsichtlich der Skalierung nicht visueller Komponenten, auch in Frames. Hier sind die wichtigste Verbesserungen:

  • Es wurde ein Problem behoben, bei dem die Position nicht visueller Komponenten nicht richtig war, wenn von einer Version vor der Version 11 von RAD Studio zu einer 11.x-Version migriert wurde.
  • Wenn sich die Formular- und die Systemskalierung ändert, behalten nicht visuelle Komponenten die korrekte Position und Skalierung bei.
  • Es wurde ein Problem mit Schriftgrößen behoben, das sich auf die Frame-Skalierung im High-DPI-Modus ausgewirkt hat, insbesondere wenn der Designer mit Low DPI ausgeführt wurde.

Sonstige IDE-Verbesserungen

  • Benutzer können jetzt eine neue Markdown-Datei über Datei > Neu erstellen.
  • Wenn die IDE mit erhöhten Rechten ausgeführt wird, zeigt die IDE dies jetzt mit "[Administrator]" am Anfang des Titels der Titelleiste an.
  • Suchen Sie die Ausgabedatei der aktuellen Build-Konfiguration im Explorer, indem Sie mit der rechten Maustaste auf die Build-Konfiguration klicken und die Option Im Explorer anzeigen auswählen.
  • Die Symbole für den Strukturablauf (Symbole im Code, die anzeigen, wenn eine Methode zurückkehrt, die Ablaufkontrolle unterbrochen oder verschoben wird usw.) wurden durch die High-DPI-Versionen ersetzt.
  • Die Opazität von deaktiviertem Editortext (auskommentierte ifdefs) kann jetzt über eine UI-Option auf der Seite Editor > Suche geändert werden.
  • Die Schriftgröße für das Hinweisfenster des VCL-Designers wurde verbessert.
  • Die Symbole für SyncEdit und den Strukturablauf im Editor wurden durch High-DPI-Symbole ersetzt.
  • Im Dialogfeld "Objektgalerie" trat ein Fehler mit "Kopieren/Vererben/Verwenden" auf, wenn die Ansicht geändert wurde. Dies ist jetzt behoben.
  • Ein Problem, bei dem in Pfaddialogfeldern ungültige Pfade nicht grau dargestellt wurden, ist jetzt behoben.
  • Einige Probleme mit der Stabilität bei der Verwendung sekundärer Editorfenster wurden behoben.
  • Markdown-Dateien können jetzt in mehreren Editorfenstern gleichzeitig geöffnet werden und es werden keine Fehler in der Strukturansicht für Markdown-Dateien angezeigt.

Verbesserungen von Compilern und Toolketten (Delphi und C++)

RAD Studio 11.3 enthält mehrere Qualitätsverbesserungen für die meisten mit RAD Studio ausgelieferten Compiler.

Delphi-Compiler

Im Release 11.3 wurden mehrere Compiler-Probleme in verschiedenen Bereichen behoben, darunter:

  • Verbesserungen für die Verarbeitung und Leistung von Delphi LSP.
  • Korrekturen für verwaltete Records und für Probleme mit Generics und Beschränkungen.
  • Codegen-Verbesserungen und -Korrekturen.
  • Es wurde eine Regression behoben, die verursacht hat, dass der Compiler völlig falsche "Zeilen insgesamt" im Dialogfeld "Compiler-Fortschritt" gemeldet hat. Dies war beim Erzeugen von Spring4D sichtbar.

C++-Compiler und Toolkette

RAD Studio 11.3 umfasst einige Qualitätskorrekturen wie:

  • Das Bibliothekssuffix $(Auto) funktioniert jetzt für C++-Projekte.
  • Es wurde ein Problem behoben, bei dem die Abhängigkeitsprüfung für statische Bibliotheken den falschen Namen verwendet hat, was zu einer unnötigen Neuerzeugung führte.

Debugger

Der LLDB-Debugger für Linux wurde mit Ubuntu 18.x und Python 3.7.x als Mindestanforderungen neu erzeugt. Dieses Release bietet zudem einige behobene Probleme für macOS und Linux.

  • In 11.3 wurden alle Nicht-Windows-Plattformen nach LLDB verschoben. Daher wird GDB nicht mehr unterstützt.
  • Formatbezeichner werden in der Ausdrucksauswertung für LLDB unterstützt.
  • Es wurden Probleme beim Verbinden mit Prozessen und beim Laden von Symbolen in LLDB behoben.
  • Es wurden Probleme für Android32 bei der Auswertung von Mengen und Ausdrücken im Zusammenhang mit der Umstellung auf LLDB behoben.
  • Neue PAServer-Versionen.
  • Benutzer können ein Programm mit dem C++-Win64-Debugger trennen.
  • Die Menüoption "Bereich" des Inspektors ist jetzt für Arrays verfügbar.
  • Android64 unterstützt das Benennen von Threads.

Verbesserungen der Bibliotheken

RAD Studio 11.3 enthält einige Verbesserungen und viele Qualitätskorrekturen in allen Bibliotheken, Delphi-RTL, C++-RTL, VCL, FireMonkey, FireDAC, DB-RTL, HTTP-Client-Bibliotheken und HTTP-Servern. In diesem Abschnitt stellen wir die wichtigsten Änderungen vor.

Delphi-RTL

Release 11.3 enthält die folgenden Verbesserungen für die Delphi-RTL.

  • In Anbetracht der Tatsache, dass in den Android-Versionen 12 und 13 die zugrunde liegende Implementierung der C-API des nativen Android-Speichermanagers geändert wurde, hat RAD die Logik für die Vorabzuweisung (256 Byte werden bei jeder Längenänderung für String und Dynamic-Array hinzugefügt, wenn der Speicherbedarf größer als 64 KB ist) so geändert, dass mehr als nötig vorab zugewiesen wird, um die Betriebssystemaufrufe für die Neuzuweisung und deren Kopiervorgänge zu reduzieren.
Hinweis: Wenn Ihr Code viel Speicher benötigt, sollten Sie Ihre Anwendungslogik überarbeiten.
  • Die System-RTL-Funktion Move wurde so optimiert, dass sie auf modernen CPUs eine bessere Leitung erzielt. Sie arbeitet jetzt abhängig von der CPU-Familie und Bitanzahl 2- bis 5-mal schneller.
  • Die ZLib-Bibliothek wurde auf Version 1.2.13 aktualisiert.
  • Verbesserte Leistung von _InitializeRecord.
  • Verbesserte Leistung von TDirectory.GetFiles für viele Dateien.

VCL

Release 11.3 enthält die folgenden Verbesserungen für die VCL.

  • Die VCL-Komponente TControlList bietet nun die Möglichkeit, mehrere Elemente mit den neuen Eigenschaften und Ereignissen auszuwählen:
  • Es wurden Skalierungsprobleme u. a. in den Steuerelementen TDBGrid, TComboBox und TStringGrid und DPI-Änderungsprobleme in mehreren Komponenten, wie in den Steuerelementen TListView, TComboBox und TStringGrid, behoben. Dadurch wurde auch das Gesamtverhalten verbessert, wenn die Eigenschaft "Scaled" eines Formulars "False" ist.
  • Es wurden einige TBalloonHint-Regressionen behoben.
  • Der StyleHook-Code wurde verbessert, um mögliche Zugriffsverletzungen zu verhindern.
  • Grafikverbesserungen für TreeView beim Skalieren und Verbesserungen beim Rendern von Grafikobjekten für mehrere andere Steuerelemente.
  • Es wurde ein Konflikt im TRichEdit-Steuerelement zwischen SpellChecking und benutzerdefinierten Popup-Menüs behoben.
  • Verbesserte NumberBox-Eingabe mit einem aktiven MinValue.
  • Bessere Unterstützung für TControlList-Steuerelemente mit einer großen Anzahl an (virtuellen) Elementen.
  • Es wurden Probleme mit der Positionierung und Größe benutzerdefinierter Titelleisten-Schaltflächen, einschließlich Zeichenflächengröße und linker Rand des Titels, behoben.

FireMonkey

RAD Studio 11.3 enthält die neue Komponente TBiometricAuth, die eine Autorisierung mittels biometrischer Daten, wie Gesichts-ID, Fingerabdrücke, auf Android- und iOS-Geräten ermöglicht.

Hinweis: Unter Android wird die Komponente TBiometricAuth derzeit nur für Android 10 oder höher unterstützt.

Verwenden Sie TBiometricAuth aus der Komponentenpalette, um die gewünschten Eigenschaften festzulegen. Wenn die Anwendung für Android verfügbar ist, müssen mindestens die Prompt-Eigenschaften PromptDescription und PromptTitle Werte enthalten. Außerdem müssen Sie die gewünschte Stärke der Eigenschaft BiometricStrengths angeben. Sie können auch Ereignisbehandlungsroutinen für die Ereignisse OnAuthenticateSuccess oder OnAuthenticateFail erstellen, um zu regeln, was in diesen Szenarien geschehen soll.

Erkunden und nutzen Sie die neuen APIs:

Release 11.3 enthält auch die folgenden Verbesserungen für FireMonkey.

  • Der neue Interface-Dienst IFMXPhoneDialerListenerService wurde hinzugefügt, der Änderungen des Status des Telefonsystemdienstes nachverfolgen soll (Calls, Carrier, CallState).
Hinweis: Nur für Android. Vor der direkten Nachverfolgung von Anrufen müssen Benutzer eine Berechtigung android.permission.READ_PHONE_NUMBERS anfordern.

Wenn der Benutzer den Zugriff gewährt, fordern Sie den Dienst an und rufen die Methode "Start" auf. Andernfalls sollte der Benutzer erklären, warum diese Berechtigung erforderlich ist.

Rufen Sie am Ende der Anruf-Nachverfolgung die Methode "Stop" auf.
  • FireMonkey-Apps behandeln jetzt Beendigungsanforderungen von Windows Restart Manager korrekt.
  • Es wurde macOS ARM 64 zu unterstützten Radiant Shapes-Plattform hinzugefügt.
  • Verbesserte FireMonkey-Eingabehilfeunterstützung für Windows beim Untersuchen mit Accessibility Insights und eine Zugriffsverletzung in FMX.ScreenReader.Win.pas wurde behoben.
  • Mehrere Verbesserungen bei TWebBrowser für die Windows-Plattform, einschließlich der Verfügbarkeit von 3D-FMX-Apps und die Implementierung von TCustomWebBrowser.CaptureBitmap für Edge.
  • Einige Verbesserungen bei der iOS-Plattformübersetzung für die Schaltfläche "Fertig" und iOS-Auswahlschaltflächen von iOS VirtualKeyboard; iOS-Scrollen wurde für TDateEdit, TTimeEdit, TComboBox und TiOSAddressBook.SaveContact korrigiert.
  • Unterstützung des DocumentFile-Providers für Android.
  • Android-Verbesserungen beim Bewegen des Cursors in einem TMemo durch Wischen mit dem Finger, TAddressBook-Komponente.
  • Windows-Verbesserungen bei TForm-Cursor, TWinMultiDisplay.FindDisplay.
  • Verbesserungen der FireMonkey-Grafik in TBitmap.AssignFromSurface, TCanvas.TransformRect, TBitmap.Canvas.BeginScene und Entfernung der Artefaktlinien in TMemo und TGridPanelLayout.
  • Verbesserungen und Korrekturen für viele Steuerelemente, darunter MultiView (mit ControlType = platform), SpeedButton (isPressed bei Verwendung in einem TFrame), Label (FocusControl), IsChecked von TTreeViewItem, TEdit arbeitet in einer TVertScrollBar.
  • ClipChildren berücksichtigt nun XRadius und YRadius.
  • Verbesserungen beim Durchlaufen aller Steuerelemente mit der Taste Tab.

Daten

Release 11.3 enthält die folgenden Verbesserungen für Daten.

  • Es wurde vorläufige Unterstützung für UTF8 in der Datenbank-RTL (TStringField), in FireDAC ODBC, DatS oder DataSet zur besseren Unterstützung von ODBC-Treibern unter Linux hinzugefügt.
  • FireDAC bietet Verbesserungen der PostgreSQL-Leistung. Es gibt eine neue PostgreSQL-Verbindungseinstellung FastFetchMode=Choose|Default|All|First, wobei:
    • Choose – FireDAC wählt das geeignete Optimierungsziel aus. Das ist der Vorgabewert.
    • Default – FireDAC führt keine Optimierung durch. Früherer Modus.
    • All – FireDAC optimiert das Abrufen von Ergebnismengen immer, um das Abrufen aller Datensätze zu beenden.
    • First – FireDAC optimiert das Abrufen von Ergebnismengen immer, um das Abrufen des ersten Datensatzes zu beenden.
  • Bessere High-DPI-Skalierung für TFDQuery-Editor-Optionen und für die Schriftart im Abfrageeditor.
  • Es wurde eine geeignete Version der MongoDB-Client-Bibliothek zur Unterstützung der Anmeldung bei einem MongoDB-Server und für ein neues Transaktions-Feature hinzugefügt.
  • TBindingExpression berücksichtigt nun die Groß-/Kleinschreibung nicht mehr.
  • Die Kompatibilität von FireDAC-Treibern mit PostgreSQL Version 14 und Version 15.1 wurde verifiziert.
  • Es wurde die neue NCharReplacement-Konfiguration für FireDAC-Oracle-Verbindungen und Unterstützung für q['...'] "NCHAR String Literal Replacement" hinzugefügt.

HTTP und Rest-Client-Bibliotheken

Für HTTP und Rest-Client-Bibliotheken enthält RAD Studio 11.3 die folgenden Verbesserungen.

  • Die Eigenschaft TMultipartContentParser vermeidet, jeden Teil mit ContentType als Datei zu behandeln.
  • Es wurde die automatische Aktualisierung von Token zu TOAuth2Authenticator hinzugefügt, um die Unterstützung für die Google REST-Dienstauthentifizierung und den Ablauf von TOAuth2Authenticator Zugriffs-Token zu verbessern.
  • Bessere Unterstützung für NestedElements in TRESTResponseDataSetAdapter.
  • Es wurde Unterstützung für die Verwendung von Client-Zertifikaten bei REST-Komponenten unter Android hinzugefügt.
  • RAD Server: Die LIST-Funktionalität der TEMSDataSetResource-Komponente gibt jetzt korrekt formatierte Datumsangaben in der JSON-Struktur zurück.
  • Ein Speicherleck in einer SOAP Server-Anwendung im Zusammenhang mit dem Bereitstellen eines Anhangs wurde behoben.

Sonstige Verbesserungen

RAD Studio 11.3 bietet einen neuen Beglaubigungsprozess für macOS, den Apple eingeführt hat und zwar ab XCode 14. Die Windows-Signierung umfasst jetzt auch Unterstützung für den Zeitstempel von MSIX-Dateien.

Siehe auch