12 Athens - Release 1

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Hilfe für RAD Studio 11 Athens

Nach oben zu Neuerungen in den letzten Releases

Aktualisiertes Release von RAD Studio 12.1 Athens verfügbar (XX. März 2024).

Hinweis:
  • Informationen zum Inhalt von Version 12 Athens

RAD Studio 12 Athens - Release 1 (alias 12.1) ist für die Installation verfügbar. RAD 12.1 baut auf dem Funktionsumfang von RAD Studio 12 auf, wobei im gesamten Produkt Funktionen erweitert und neue hinzugefügt wurden.

Der Hauptfokus bei RAD Studio 12.1 wurde auf Qualitätsverbesserungen gelegt, aber es enthält auch einige der wichtigen Erweiterungen der C++-Toolkette und der IDE. Zu den wichtigsten Features und Qualitätsschwerpunkten gehören:

  • C++ Clang-Toolkette
  • Geteilter Editor
  • IDE
  • Debugger
  • Level 34 für Android-Ziel-API
  • VCL
  • VA
  • Delphi-Compiler
  • Sonstige Bibliotheken

Wichtige Verbesserungen in 12.1 nach Produktbereich

C++ Clang-Toolkette

RAD Studio 12.1 integriert die aktualisierte Clang-Toolkette für Win64 in die IDE.

=link

Eine gänzlich neue Toolkette mit vollständiger IDE-Integration als normale Plattform. Die Toolkette umfasst den neuen Clang 15-Compiler, LLVM-lld-Linker, libc++-STL, UCRT-C-Laufzeit und vieles mehr.

Die Toolkette wird parallel zu der vorhandenen Win64-Plattform ausgeliefert, einschließlich VCL- und FMX-Unterstützung, DLLs, statischen Bibliotheken und Konsolenanwendungen. Klicken Sie mit der rechten Maustaste auf die Zielplattformen in der IDE und fügen Sie Win64 (Modern) hinzu.

Was können Sie tun?

Die Toolkette ist bereit, um mit VCL und FMX reale Anwendungen zu testen. Die IDE ist vollständig integriert und sendet die richtigen Optionen an den Compiler-Treiber und Linker. Sie sollten keine speziellen Workarounds oder Compiler-Kommandozeilen-Flags benötigen.

Bitte beachten Sie, dass Ihre Anwendungen Packages statisch linken, unabhängig von der Einstellung für dynamische Packages.

=link

Die obige Abbildung zeigt ein Beispiel der FireMonkey-App Mazes (aus unserem GitHub), die die neue Clang-Toolkette verwendet.

Einschränkungen

  • Einige Bibliotheken, wie SOAP, sind nicht in dieser Toolkette enthalten. Und zwar, um die Testmatrix zu reduzieren oder um sich auf die für die Qualität der am meisten benötigten Bibliotheken zu konzentrieren. Nachstehend finden Sie eine vollständige Liste der verfügbaren Bibliotheken/Packages.
  • Packages (wie VCL etc.) werden in Ihre App statisch gelinkt. RAD Studio 12.1 enthält keine dynamische Package-Nutzung, d. h. dynamisches Linken in BPL-Dateien, die zusammen mit der EXE in 12.1 verteilt werden. Der Inhalt von Packages wird statisch mit der EXE gelinkt, unabhängig von der Einstellung "Laufzeit-Packages" in den Projektoptionen.
  • Erstellen von in C++ geschriebenen Packages. RAD Studio 12.1 unterstützt derzeit nur in Delphi geschriebene Packages.

Besondere Hinweise

Virtuelles Dateisystem

Die IDE verfügt ein virtuelles Dateisystem (Virtual File System, VFS), mit dem Sie ein Projekt oder eine Datei erstellen, eine bestehende Datei ändern und sie compilieren und ausführen können, ohne sie auf der Festplatte zu speichern.

In der Vergangenheit nutzen alle unsere Toolketten dazu DLL-Versionen des Compilers und Linkers, die sich in das IDE-VFS eingehängt haben. In 12.1 verwendet das neue Clang-Upgrade das Clang-VFS-Overlay.

Temporäre VFS-Dateien werden nach dem Compilieren standardmäßig entfernt. Dies können Sie ausschalten, indem Sie unter Projektoptionen > C++-Compiler > Erweitert die Option Temporäre VFS-Dateien nach Compilierung entfernen deaktivieren.

POSIX und andere RTL-Methoden

RAD Studio hat sich nie vollständig an den standardmäßigen Windows-Satz von RTL-Methoden gehalten und viele POSIX-Versionen und benutzerdefinierte RTL-Funktionen bereitgestellt. Einige davon könnten jetzt fehlen.

Kompatibilität mit C++-Standards

RAD Studio verwendet die libc++-Version 15.0. Überprüfen Sie die Einhaltung der Sprachstandards auf den folgenden Seiten:

Hinweis: Die Unterstützung der Format-Bibliothek wurde in libc++ 16 eingeführt. Daher wird sie von RAD Studio 12.1 noch nicht unterstützt. (Die {fmt}-Bibliothek ist ungetestet, sollte aber gut funktionieren.) Andere Elemente wie Parallelism TS, der Spaceship-Operator usw. sind in libc++ enthalten, aber die Version ist noch nicht dokumentiert.

Packages und Bibliotheken

Der neue lld-Linker ist erheblich schneller (etwa 4x schneller) als ilink. Er kommt mit größeren Dateien problemlos zurecht, sodass dynamisches Linken weder für die Linkzeit noch für den Linkerspeicher ein notwendiger Workaround ist.

Die dynamische Package-Nutzung ist aus Gründen der Architektur wichtig, und für RAD Studio wird geplant, die dynamisch gelinkten Delphi-Laufzeit-Packages in einem zukünftigen Release zu aktualisieren.

Die Liste der enthaltenen und nicht enthaltenen Bibliotheken finden Sie auf unser Seite Packages-Dokumentation.

Geteilter Editor

RAD Studio 12.1 bietet Unterstützung für geteilte Editoransichten in der IDE. Verwenden Sie mehrere Editoren neben-, über- und untereinander oder eine Kombination, alle im selben Fenster. Dazu gehört auch das Ziehen ganzer Sätze von Registerkarten in frei platzierbare Fenster und zurück.

RAD Studio implementiert geteilte Editoransichten auf fortschrittliche Weise und ermöglicht komplexe benutzerdefinierte Layouts und Bearbeitungen. Das bedeutet, dass Sie ein einfaches zweispaltiges Layout, ein mehrzeiliges Layout oder ein genau auf Ihren Arbeitsablauf abgestimmtes Layout verwenden können.

Sie können mehrere Registerkarten öffnen, die alle dieselbe Unit enthalten, und mehrere Registerkarten mit einem Formular-Designer in einer Registerkarte und einer oder mehreren Code-Registerkarten für dieselbe Unit öffnen. Dazu gehört auch das Verschieben der Registerkarte, in der der Designer angezeigt wird. Es gibt keine Begrenzung für die Anzahl der horizontal oder vertikal geteilten Editoren.

Verwenden des geteilten Editors

Sie können auf die Ansicht des geteilten Editors zugreifen, indem Sie mit der rechten Maustaste auf eine Registerkarte klicken und Teilen > oder Verschieben > auswählen. Mit "Teilen" wird eine andere Version der ausgewählten Registerkarte erstellt und mit "Verschieben" wird die Registerkarte geschlossen und an der ausgewählten Stelle in der IDE geöffnet.


=link


Alternativ können Sie den geteilten Editor verwenden, indem Sie eine Datei aus der Ansicht "Projekte" in einen geöffneten Editor ziehen, um diese Datei als Registerkarte in dieser Registerkartengruppe zu öffnen.

Sobald sich zwei Registerkarten in einem Fenster befinden, haben beide Sätze Titelleisten. Sie können Folgendes ausführen:

  • Eine Editor-Registerkarte oder einen Registerkartensatz ziehen, indem Sie die Titelleiste an einer beliebigen Seite des IDE-Fensters andocken.
  • Eine Editor-Registerkarte oder einen Registerkartensatz an einer beliebigen Seite (links, rechts, oben, unten) eines anderen Editors andocken.
  • Eine Editor-Registerkarte oder einen Registerkartensatz mit einem vorhandenen Satz zusammenführen, indem Sie sie über die Mitte eines vorhandenen Editors ziehen. Auf diese Weise können auch frei platzierbare Fenster mit Registerkarten zusammengeführt werden.
  • Eine Editor-Registerkarte oder einen Registerkartensatz ziehen, um ein separates Fenster zu erstellen.

Die meisten Operationen können für einzelne Registerkarten ausgeführt werden, wie das Verschieben einer Registerkarte zwischen angedockten Registerkartensätzen, indem sie die Registerkarte von einer Position an eine andere ziehen.

Jeder Registerkartensatz kann aus seinem Fenster gezogen und so daraus ein eigenes Fenster erstellt werden. Ziehen Sie dazu die Titelleiste aus dem ursprünglichen Fenster (halten Sie die Taste STRG beim Ziehen gedrückt, damit der Registerkartensatz sich nicht andockt).

Ebenso kann jedes Fenster an einen anderen Registerkartensatz angedockt werden; ziehen Sie dazu die Titelleiste.

Hinweis: Die meisten Editoren/Gruppen verschwinden einfach, wenn sie geschlossen werden. Aber der erste Editor, der früher der einzige Editor für das Hauptfenster war, schließt beim Schließen mit der Schaltfläche "X" alle Registerkarten, die er enthält. Der Platz für ihn bleibt jedoch offen. Der ursprüngliche Editor kann nicht geschlossen werden und nimmt immer Platz auf dem Bildschirm ein. Dies wirkt sich erst aus, wenn Sie die Registerkartengruppen schließen. Es gibt keine sichtbaren Auswirkungen, wenn Sie sie bei der täglichen Arbeit erstellen, verschieben oder andocken.

Designer und Code

Mit geteilten Editoren können Sie die gleiche Datei nebeneinander bearbeiten. Beide Editoren zeigen denselben Dateiinhalt an. Wenn Sie in einem Editor etwas eingeben und zur dieser Stelle im anderen Editor scrollen, wird der Text dort angezeigt.

Beide Ansichten lassen sich jedoch unabhängig voneinander verschieben, sodass Sie dieselbe Datei an mehreren Stellen bearbeiten können. Sie können eine beliebige Anzahl von Registerkarten zur Bearbeitung derselben Datei verwenden.

Hinweis: Denken Sie daran, dass es nur eine Datei (Modul oder Dateipuffer) gibt, aber mehrere Editor-Ansichten für diese Datei, sodass eine Änderung, die Sie in einem Editor vornehmen, sich immer in jedem anderen Editor für dieselbe Datei widerspiegelt. Eine in einem Editor vorgenommene Änderung wird nicht "kopiert" oder "dupliziert" oder ähnlich: Es gibt nur eine Datei und einen Inhalt für diese Datei, auch wenn Sie diese Datei in mehreren Editoren anzeigen/bearbeiten.</br> Anders ausgedrückt: Wenn Sie eine Datei in einem Editor bearbeiten, erfolgt diese Änderung in der Datei selbst, nicht im Editor. Per Definition bedeutet das, dass diese Änderung immer auch in den anderen Editoren vorhanden ist, die dieselbe Datei anzeigen.

Fokusverfolgung

Ein wichtiger Grundsatz des UI-Designs von RAD Studio ist es, den Fokus deutlich zu machen. In den Versionen vor RAD Studio 12.1 war das aktuell fokussierte Fenster in einem kräftigen Blau gehalten, unabhängig davon, ob es sich um ein angedocktes Fenster auf einer Seite oder die (damals einzelne) Editor-Registerkarte handelte.

Die gleiche Technik gilt jetzt, da wir mehrere Editoren haben, aber die Titelleiste der Registerkartengruppe und die spezifische Registerkarte sind einfarbig blau. Das soll den Fokus wirklich deutlich machen.

Editor-Gruppen, die nicht den fokussierten Editor enthalten, haben eine Titelleiste mit blassem Hintergrund, und sogar ihre vordersten Registerkarten (die, die fokussiert wären, wenn diese Gruppe den Fokus hätte) sind grau, um den fehlenden Fokus darzustellen.

Andocken und Layouts

Seit Version 12.1 können Sie in RAD Studio Fenster wie den Objektinspektor an beliebige Stellen verschieben und andocken. In der Praxis bedeutet dies, dass es kaum einen Unterschied zwischen andockbaren Fenstern (wie dem Objektinspektor, der Strukturansicht usw.) und andockbaren Editoren/Editorgruppen gibt, sodass Sie leistungsstarke Layouts erstellen können, die auf Ihre Bedürfnisse zugeschnitten sind.

Ein Desktop-Layout besteht aus den geöffneten Editoren (und Editorgruppen, ihre Position, wo sie angedockt sind usw.) zusammen mit den andockbaren Fenstern im alten Stil und kann mehrere Fenster mit jeweils mehreren Registerkartensätzen umfassen.

Die Konfiguration der Editoren muss als Ihr Desktop-Layout gespeichert werden; ansonsten geht sie leicht verloren.

Zudem ändert sich die Konfiguration, wenn sich das Desktop-Layout ändert, z. B. wenn die IDE mit dem Debuggen beginnt und zum Debug-Layout wechselt. Wenn sich das Layout ändert, wird jede Registerkartengruppe (die auch eine einzelne Registerkarte sein kann, solange sie separat angedockt ist), die keinen Platz in dem Layout hat, zu dem gewechselt wird, zu einem frei platzierbaren Fenster abgedockt.

IDE-Verbesserungen

DelphiLSP-Programmierhilfe

In RAD Studio 12.0 wurde die Programmierhilfe hinzugefügt, damit die Programmierhilfe automatisch während der Eingabe angezeigt wird. Dieses Vor-DelphiLSP-Feature bietet eine Liste hilfreicher Vorschläge, die nicht nur bei Punkt oder bei manuellem Aufruf angezeigt werden.

Das automatische Erscheinen während der Eingabe machte es jedoch oft schwierig, bestimmte Dinge einzugeben, z. B. neue Variablennamen, da sie (als bisher unbekannte Bezeichner) nicht vorgeschlagen wurden. Die Programmierhilfe akzeptierte das oberste Element, wenn Sie die Leertaste drückten, wodurch Ihre Eingabe überschrieben wurde.

In RAD Studio Version 12.1 wurde die Funktionalität folgendermaßen verbessert: Wenn die Funktion Automatisch aufrufen auf Ein festgelegt ist und die Programmierhilfe automatisch angezeigt wird, wird nur durch Drücken von Tab und Eingabe der aktuell ausgewählte Vorschlag akzeptiert. Andere Tasten, wie Leer, offene Klammern, Punkt etc., funktionieren nicht. Das bedeutet, dass Sie sich entscheiden müssen, einen Vorschlag zu akzeptieren, wenn die Programmierhilfe automatisch aufgerufen wird. Auf diese Weise kann nicht versehentlich etwas übernommen werden.

Wenn die Programmierhilfe normal aufgerufen wird, akzeptieren diese Tasten, was vorgeschlagen wird, wie in 11.3 und früher. Das bedeutet, dass das Verhalten für alle zuvor normalen Programmierhilfe-Vorschläge unverändert ist.

Das Feature "Automatisch aufrufen" ist standardmäßig auf Aus festgelegt, schalten Sie es ein, und informieren Sie sich über die neue Registerkarte für Programmierhilfe-Tasten in der Dokumentation zu Code Insight.

Debugger

In Version 12.1 verwenden alle Debugger außer Delphi Win32, Delphi Win64 und C++ Win32 den LLDB 15. Dies ist derselbe Debugger, den auch das Clang-Upgrade verwendet.

Frühere Versionen verwendeten LLDB 12 für diese Plattformen und wurden upgegraded.

Level 34 für Android-Ziel-API

In RAD Studio Version 12.1 wurde der Android-API-Level auf 34 aktualisiert. Diese Änderung erforderte Änderungen am Android-SDK-Tooling, einige zusätzliche Android-Plattform-Tools und eine Aktualisierung der Java-Laufzeitumgebung. Hier sind weitere Details:

  • Version 12.1 installiert nun unter anderen Plattformfunktionen Eclipse Temurin JDK OpenJDK 17 (Hotspot) JVM.
  • In Version 12.1 wurden die Befehlszeilentools der Android-SDK-Komponenten aus unserer standardmäßigen Android-SDK-Installation aktualisiert.
  • Das targetSdkVersion-Standardmanifestattribut ist jetzt 34.

RAD Studio 12.1 bietet eine spürbare Leistungssteigerung bei der Erstellung von .apk-Dateien, da Version 12.1 die Vorteile der zipflinger- und signflinger-Bibliotheken von Google im Packager-Befehlszeilentool nutzt. Im Folgenden sind die Verbesserungen bei der Android-Paketerstellung aufgeführt:

  • Die Android DEX-Operationen (DEX-Compilierung und DEX-Zusammenführung) sind jetzt inkrementell (sie werden nur ausgelöst, wenn die Eingabedateien im Verhältnis zu den Ausgabedateien als veraltet angesehen werden).
  • In Version 12.1 wurde das Build-System von dem alten und veralteten Google AAPT-Befehlszeilentool auf das neue AAPT2-Tool von Google umgestellt.
  • Das AAPT2-Befehlszeilentool von Google wird jetzt zum Compilieren aller Android-Ressourcendateien und zu deren Packen in eine .zip-Datei verwendet, die die Manifestdatei und die Android-Ressourcentabelle enthält.
  • Das neue Packager-Befehlszeilentool stellt die gepackten Ressourcendateien, nativen Bibliotheken, Asset-Dateien und .dex-Dateien in die endgültige .apk- oder Basismoduldatei.

Qualitative Verbesserungen

VCL

  • VCL-TEdit wurde so aktualisiert, dass es korrekt mit dem neuen Barrierefreiheit-Textcursor in aktuellen Versionen von Windows arbeitet. Auf diese Weise stellen wir die Barrierefreiheit der IDE wieder her, die aufgrund dieses Problems standardmäßig deaktiviert war. Die Verwendung von JAWS mit der IDE sollte nun standardmäßig (wieder) funktionieren.
  • Verbesserungen bei NumberBox für die Arbeit mit negativen Werten.
  • State von ProgressBar wird nun unter "VCL-Stile" unterstützt.

Visual Assist für C++

  • Ein Problem wurde behoben, bei dem Visual Assist einen Cache hinterließ, wenn eine Datei ungespeichert geschlossen wurde.
  • Beim Umbenennen werden nun auch Ereignisbehandlungsroutinen umbenannt.
  • Das Umbenennen einer Komponente umfasst das Umbenennen im Designer, eine fehlende Funktion in 12.0.
  • Die Programmierhilfe für Objekteigenschaften funktioniert nun korrekt.
  • Ergebnisse der Programmierhilfe zeigen keine unerwarteten Werte mehr an.
  • Ein Problem wurde behoben, bei dem die Programmierhilfe nicht ausgelöst wurde.
  • Ein Problem wurde behoben, bei dem Visual Assist nicht mit Bibliotheken von Drittanbietern funktionierte.
  • Die #include-Präprozessordirektive "autocomplete" mit < und “” sollte nun korrekt funktionieren.
  • Kleinere UI-Verbesserungen in Menüs.

Sonstige Bibliotheken

RAD Studio 12.1 führt die folgenden Verbesserungen für Datenbanken ein:

  • Verbesserter TIBDataSet-Editor (IBX).
  • Hinzugefügte FireDAC-Unterstützung für Firebird Version 5. Dies umfasst auch die Unterstützung für parallele Operationen TFDFBBackup für Firebird 5.
  • Hinzugefügte FireDAC-Unterstützung für PostgreSQL Version 16.
  • Die neuesten Versionen von IBToGo und IBLite (abgestimmt auf InterBase 2020 Update 5) sollten jetzt auf Android funktionieren.

Für FireMonkey enthält 12.1 Folgendes:

  • Unter macOS verhalten sich transparente Bitmaps, die in nicht transparenten Formaten gespeichert wurden, wie unter Windows (d. h. die transparente Farbe wird schwarz).

Für das Internet enthält 12.1 Folgendes:

  • TRestClient unterstützt die Verwendung von Zertifikaten aus der lokalen Computerliste und nicht nur aus der aktuellen Benutzerliste.
  • Unterstützung für die Web-Hex-Farbsyntax in der Funktion StringToColor.
  • Die Möglichkeit für den REST-Debugger, Werte aus Tabellenzellen zu kopieren.
  • Möglichkeit, den Benutzernamen von RAD Server-Benutzern zu ändern.

Siehe auch