12 Athens – Release 2
Nach oben zu Hauptseite
Nach oben zu Neuerungen in den letzten Releases
Aktualisiertes Release von RAD Studio 12.2 Athens verfügbar (12. September 2024).
- Informationen zum Inhalt von Version 12 Athens
- Informationen zum Inhalt von Version 12 Alexandria – Release 1
RAD Studio 12 Athens – Release 2 (12.2) ist für die Installation verfügbar. Der Fokus für RAD Studio 12.2 wurde auf die Vervollständigung von Features aus RAD Studio 12 und 12.1, die Verbesserung bestehender Features im gesamten Produkt sowie auf neue Features gelegt.
Der Hauptfokus liegt dabei auf Qualitätsverbesserungen, aber RAD Studio 12.2 enthält auch einige wichtige Erweiterungen der C++-Toolkette und der IDE. Zu den wichtigsten Features und Qualitätsschwerpunkten gehören:
- C++-Clang-Toolkette
- Binäre Delphi-64-Bit-Compiler
- IDE
- Visual Assist
- Smart CodeInsight
- ToolsAPI
- Debugger
- RAD Studio WebStencils
- Bibliotheken
Inhaltsverzeichnis
Wichtige Verbesserungen in 12.2 nach Produktbereich
Die folgenden Abschnitte enthalten wichtige Verbesserungen von 12.2 nach Bereichen.
C++-Clang-Toolkette
Der Hauptfokus von RAD Studio Version 12.2 liegt auf der Verbesserung der neuen Win64-Clang-Toolkette, einschließlich der neuen Erstellung von C++-Packages und wichtigen Updates der Linker-Einstellungen.
Dynamische Packages
Ab RAD Studio Version 12.2 können moderne C++-Windows-64-Bit-Anwendungen dynamische Packages linken. Von C++ verwendete Packages können sowohl von Delphi als auch von C++ erstellt werden.
Benutzer können ein neues C++-Package-Projekt erstellen (oder ein vorhandenes öffnen), die moderne Windows-64-Bit-Plattform hinzufügen und die Option Mit Laufzeit-Packages linken aktivieren.
Weitere Informationen finden Sie in den technischen Hinweisen und auf unseren folgenden Dokumentationsseiten:
- Packages für C++-Toolkette
- Packages und Komponenten
- Der initialization- und finalization-Abschnitt einer Unit
Statisches vs. dynamisches RTL-Linken
Die neue Toolkette verwendet standardmäßig das dynamische Linken, Borland, CodeGear und Embarcadero haben dagegen standardmäßig das statische Linken eingesetzt. Beim Erzeugen eines normalen C++Builder-Projekts werden die erwarteten Standardwerte für das statische vs. das dynamische Linken angezeigt. Version 12.2 stellt zudem sicher, dass RAD Studio mit den MinGW-Standardwerten kompatibel bleibt.
Siehe Verwenden von LLD in der Befehlszeile mit Informationen zum Standardverhalten.
CPU-sättigende Mehrkern-Builds
Ab Version 12.2 unterstützen CPU-sättigende Mehrkern-Builds mit --jobs
Windows-64-Bit Modern. Dies ermöglicht eine unglaublich schnelle Compilierung. Sie ist etwa 40 % schneller als die alte, auf parallelen Prozessen basierende Version.
C++Builder 12.2 enthält das folgende neue Verhalten:
- Die Batch-Compilierung ist standardmäßig
on
. - Unterstützung für
--jobs
aus der IDE und aus MSBuild.
Das bedeutet, dass Benutzer eine Windows-64-Bit-Modern-App standardmäßig mit der parallelen Compilierung compilieren, entweder aus der IDE oder über ein CI-System bei Verwendung von MSBuild für das Projekt. Die Standardeinstellung ist auf die Verwendung aller Kerne festgelegt.
Linker-Einstellungen
In RAD Studio 12.2 wurden die verfügbaren Einstellungen für BCC64X aktualisiert. Es ist weiterhin möglich, andere Einstellungen über die Option für Befehlszeileneinstellungen zu übergeben, aber die neuen Einstellungen sind innerhalb der UI in der IDE enthalten.
Als Teil der neuen Linker-Einstellungsaktualisierung sind die folgenden ilink-Einstellungen nun für die neue Win64-Plattform ausgeblendet: Inkrementelles Linken, Anzeige der Linkzeit, schnelles TLS, Löschen des Status vor dem Linken und Linken unter Berücksichtigung der Groß-/Kleinschreibung.
Der Linker unterstützt mehrere Flags zur Optimierung der Dateigröße durch Linken in oder aus Abschnitten, Datei- und Objektausrichtung, DEP und ASLR, Stack- und Heap-Größe und ausführliches (verbose) Linken.
Das Flag DLLs verzögert laden ermöglicht eine Liste von DLLs, die verzögert geladen werden sollen, und ordnet sie --delayload=..
zu.
Weitere Informationen finden Sie in unserer Dokumentation zu Linker-Einstellungen.
Wichtige Verbesserungen
- Windows-64-Bit Modern ist jetzt die Standardplattform für neue VCL-, FMX-, DLL-, Package-, statische Bibliotheks- und Konsolenprojekte.
- Die Optionen In Assembly compilieren und Vorverarbeiten funktionieren in der IDE für diese Toolkette.
- Packages wurden auf Win32 als Standardplattform umgestellt, nicht auf Win64X, da ihr häufigster Anwendungsfall Komponenten und die Installation innerhalb der IDE ist.
- Win64X unterstützt das Flag "Terminalserver" und der Win64X-Debugger zeigt jetzt Packages in der Liste "Module" an, wenn sie geladen sind.
- BCC64x-Konfigurationsdateien können gerootete Pfade mit dem Präfix
@
verwenden. - DLLs können den traditionellen DLL-Eintrittspunkt (DLLMain) verwenden und direkt mit einer DLL verknüpft werden. Es besteht keine Notwendigkeit, eine Importbibliothek zu erstellen.
- Die Bibliothekspfadsuche funktioniert. Jetzt können Benutzer Folgendes verwenden:
-
bcc64x -LC:\MyLibs File1.lib File2.lib
Delphi-64-Bit-Compiler
Die Enterprise- und Architect-Versionen von RAD Studio Version 12.2 enthalten 64-Bit-Versionen der Delphi-Compiler. Das neue Feature wird als 64-Bit-Tools-Architektur bezeichnet. Durch die Verwendung von 64-Bit-Tools steht dem Compiler ein größerer Speicherplatz zur Verfügung, sodass größere Anwendungen ohne Speicherprobleme compiliert werden können.
Im Folgenden sind die neuen 64-Bit-Tools aufgeführt:
- Ziel-Compiler: Delphi-Windows-32-Bit
- Ziel-Compiler: Delphi-Windows-64-Bit
Wenn Sie das externe MSBuild zum Compilieren verwenden, geben Sie in der Delphi-Compiler-Konfiguration im Feld "Bevorzugte Tool-Architektur" des RAD Studio-Dialogfelds "IDE-Projektoptionen" die Version der zu verwendenden Tools (einschließlich der Befehlszeilen-Compiler) an.
Die Delphi-Windows-Befehlszeilen-Compiler, dcc32.exe
und dcc64.exe
, befinden sich im RAD Studio-Installationsordner "bin64" (standardmäßig in C:\Programme(x86)\Embarcadero\Studio\23.0\bin64
). Die gleichen ausführbaren Dateien befinden sich weiterhin im Produktordner "bin", die 32-Bit-Versionen der Befehlszeilen-Compiler.
DelphiLSP 64 Bit
Die Enterprise- und Architect-Versionen von RAD Studio Version 12.2 enthalten eine 64-Bit-Version der DelphiLSP-Engine. Sie aktivieren die 64-Bit-Version des Servers unter Tools > Optionen > Editor > Sprache, indem Sie auf die Registerkarte "Code Insight" klicken. Wählen Sie dann in der Dropdown-Liste "Delphi" aus und aktivieren Sie das Kontrollkästchen "64-Bit-Version des Servers verwenden".
IDE-Verbesserungen
Im Folgenden finden Sie die nach Abschnitten geordneten IDE-Verbesserungen.
Fokusmodus
In RAD Studio 12.2 wurde der Fokusmodus für ablenkungsfreies Programmieren eingeführt. Bei der ersten Anzeige wird die gesamte IDE-UI ausgeblendet, außer einem einzelnen, zentrierten Quelltext-Editor (Sie können jedoch mehrere nebeneinander hinzufügen), und Sie können auch weitere UI-Elemente im Editor deaktivieren. Der Editor zeigt den Dateinamen oben an, hat Schaltflächen zum Schließen und zum Teilen links oder rechts. Außerdem können viele Registerkarten und mehrere Editoren angezeigt werden.
Informationen zum Fokusmodus, z. B. wie er aufgerufen wird, finden Sie auf unserer Dokumentationsseite.
Anmerkungen auf der Bildlaufleiste im Editor
Die Bildlaufleiste im Quelltext-Editor zeigt jetzt die folgenden Informationen an:
- Fehlermarkierung und Compilierungsfehler
- Suchergebnisse
- Positionsmarken
- Geänderte Zeilen
Auf diese Weise können Sie schnell erkennen, wo sich in Ihrem Dokument Elemente befinden, die Sie möglicherweise bearbeiten müssen oder nach denen Sie suchen.
Im obigen Beispiel werden Anmerkungen als horizontale Linien auf der Bildlaufleiste angezeigt, um Überschneidungen zu vermeiden.
Editor-Benutzeroberfläche
Die Zeilennummern im Editor können jetzt auf die linke Seite der Editorleiste gezogen werden. Das bedeutet, dass die möglicherweise wichtigere Benutzeroberfläche, wie Haltepunktpunkte, näher am Code angezeigt werden kann.
Bildlaufleisten im Editor können ebenfalls mit Editorfarben gezeichnet werden. Das heißt, ihre Farbe kann an das Farbschema des Editors angepasst werden, nicht an das Farbschema der IDE. Die neue Einstellung befindet sich unter Optionen > Editor > Bildlaufleiste > Farben des Editordesigns auf Bildlaufleiste anwenden.
Hervorheben von Änderungen in Aufruf-Stack- und anderen Fenstern
In den folgenden Bereichen mit der Anzeige von Code wird auch die Syntaxhervorhebung verwendet:
- Aufruf-Stack
- Lokale Variablen
- Struktur
- Überall, wo eine Methodendeklaration außerhalb des Editors angezeigt wird, wie im Programmierhilfefenster oder in Dropdown-Listen oben im Editor.
HighDPI-Qualität: Symbolleisten und Designer
Das Release RAD Studio 12.2 enthält signifikante Verbesserungen in wichtigen Bereichen der HighDPI-IDE.
- Entwerfen von Frames und Skalierung: VCL-Frames, die sich in anderen Frames befinden (verschachtelt), werden nun im HighDPI-Designer korrekt skaliert.
- Symbolleisten und Hauptmenü: Die IDE-Symbolleisten und Menüs, die in früheren Versionen beim Ändern der DPI-Skala unerwünschte Ergebnisse zeigten, funktionieren in dieser Version viel besser, sowohl in Bezug auf die Größenanpassung als auch auf das Verhalten beim Zeichnen.
Verbesserungen des Delphi LSP
Die DelphiLSP-Engine wurde wesentlich verbessert, insbesondere in Bezug auf Hinweise und die Navigation, hauptsächlich im interface-Teil einer Unit. Zu diesen Verbesserungen gehören:
- Symbolhinweise: Hinweise funktionieren für die meisten Symbole im Klassen-Interface, auch für Felder.
- Lokale Konstanten und Variablen: Wenn Sie den Mauszeiger über lokale Konstanten und Variablen bewegen, werden nun deren Definitionen angezeigt.
- Forward-Typdeklarationen: Die Engine löst nun in einigen Fällen forward-Typdeklarationen auf.
In diesem Release wurden auch Probleme in Units mit mehrzeiligen Strings behoben, bei denen der interne Quelltext-Manager (PASMGR) von diesem Feature nicht unterstützt wurde.
Weitere Verbesserungen der IDE
Im Folgenden finden Sie IDE-Qualitätsverbesserungen für RAD Studio Release 12.2:
- Im Schriftarten-Package des Installationsprogramms ist jetzt die Schriftart Intel One Mono enthalten. Diese Schriftart ist für die Barrierefreiheit gedacht und soll für Menschen mit Sehbehinderungen einfacher zu lesen sein.
- Beim Geteilten Editor bleiben nun bei horizontalen Größenänderungen die angedockten Tool-Bereiche an der Seite gleich groß. Außerdem gibt es neue Tastenkürzel zum Teilen von Editoren.
- Die Fehlermarkierung in der Strukturansicht zeigt nun internationale Zeichen korrekt an.
- Das Dialogfeld "Crash Collector" verknüpft nun zum neuen Quality Portal.
Visual Assist
Das RAD Studio 12.2-Release führt drei neue Features für VA ein, die die C++-Toolkette verbessern. Die neue Version umfasst Leistungsverbesserungen des Parsers und von "Referenzen suchen".
In diesem Release wurde die Visual Assist-DLL aktualisiert und entspricht jetzt der in der Assist Version 2024.6 verwendeten Version. Diese beinhaltet alle Leistungsverbesserungen, die bis heute in 2024 vorgenommen wurden, sowohl für die anfängliche Analysezeit als auch für Features wie "Referenzen suchen", die Refactoring-Operation "Umbenennen" und mehr. Dabei wird häufig eine 8–10-fache Geschwindigkeitsverbesserung für die erste Analyse und eine bis zu 4-fache Geschwindigkeitsverbesserung für andere Features erzielt.
Release 12.2 umfasst die folgenden Features:
- Methode extrahieren: Verschiebt ein Codesegment in eine separate Methode und ersetzt das Segment durch einen Aufruf der extrahierten Methode. Es ist möglich, mehrere Zeilen oder ein Segment einer Zeile zu extrahieren.
- Variable einführen: Definiert eine temporäre Variable in dem innersten Gültigkeitsbereich der Auswahl, initialisiert sie mit dem ersetzten Code, falls vorhanden, und ersetzt ein oder mehrere Vorkommen des Ausdrucks durch die temporäre Variable.
- Aus Verwendung erstellen: Ermöglicht es Entwicklern, den Namen eines nicht definierten Symbols einzugeben und es einzuführen, ohne dass die aktuelle Position verlassen werden muss. Dieser Top-Down-Entwicklungsstil kann für viele Ziele angewendet werden, einschließlich Aufzählungen, Variablen, Funktionen, Methoden, Header-Dateien und mehr.
RAD Studio Smart CodeInsight
RAD Studio 12.2 führt die neue IDE-Integration für LLMs, Smart CodeInsight, ein. Das ist der erste Einstieg von RAD Studio in diesen Bereich und bietet eine erste Unterstützung, die für RAD Studio zukünftig ausgebaut werden soll.
Die KI-Unterstützung ist standardmäßig deaktiviert und muss für die Verwendung manuell aktiviert und konfiguriert werden.
Smart CodeInsight ist die offene Architektur zur KI-Unterstützung von RAD Studio mit einer neuen ToolsAPI, mit der Sie Plugins für spezielle KI-Anbieter entwickeln und KI aus der IDE heraus verwenden können. In diesem Release enthält RAD Studio:
- Core-KI-Engine und ToolsAPI
- IDE-Integration in:
- Ein KI-Chatfenster
- Editor-Menübefehle zum Aufrufen von KI-Operationen
- Konfigurationsoptionen für die Engines
- Gebrauchsfertige Unterstützung für die folgenden LLMs
- OpenAI (online)
- Gemini von Google (online)
- Claude von Anthropic (online)
- Ollama von Meta (offline)
- Persönliche KI-Plugins
RAD Studio bietet eine anpassbare UI-Integration neben der Möglichkeit, weitere KI-Engines hinzuzufügen.
Datenschutzkontrolle
RAD Studio bietet Ihnen eine erweiterte Konfiguration und umfängliche Datenschutzkontrolle auf verschiedene Weise:
- Wenn Sie LLMs vertrauen, können Sie das gesamte KI-Feature mit einer einzigen globalen Einstellung deaktivieren. Das Feature ist standardmäßig deaktiviert.
- Jede Engine kann aktiviert oder deaktiviert werden.
- Wählen Sie aus, welche Engine standardmäßig von den verschiedenen UI-Elementen (Chat und Editormenü) verwendet wird.
- API-Schlüssel werden verschlüsselt gespeichert.
- Bietet die Option, eine lokale Engine offline zu verwenden.
Konfiguration von Smart CodeInsight
Das Feature Smart CodeInsight kann im Dialogfeld "Tools-Optionen" unter Editor > AIEngine konfiguriert werden. Weitere Informationen zu diesem Thema finden Sie auf der Seite Optionen für Smart CodeInsight.
UI-Elemente von Smart CodeInsight
Die IDE zeigt die KI-Tools auf zwei verschiedene Arten an:
- Allgemeines Chatfenster: In dieses Fenster können Sie eine benutzerdefinierte Eingabeaufforderung eingeben.
- Editormenüs: Ermöglichen es Ihnen, bestimmte Operationen für den aktuell ausgewählten Quellcode auszuführen.
Weitere Informationen finden Sie auf der Seite UI-Elemente von Smart CodeInsight.
ToolsAPI
KI und Smart CodeInsight
Die Unterstützung für Smart CodeInsight (KI) in der IDE von 12.2 bietet eine Reihe von Diensten innerhalb der IDE, wie ein Chatfenster oder die Übersetzung von Sprachen. Die beiden wichtigsten Funktionen sind:
- Ermöglichen, dass jede KI ein Backend ist. RAD Studio bietet vier Implementierungen (OpenAI, Claude, Gemini und Ollama), aber Benutzer können eigene hinzufügen.
- Schreiben von Plugins, die die vom Benutzer konfigurierte KI-Lösung verwenden. Benutzer können ihren bevorzugten KI-Anbieter einrichten und jedes künftig installierte Plugin kann diese KI verwenden.
Verwenden von KI-Diensten
Informieren Sie sich mithilfe einer unserer Demos über Themen wie Erstellen Ihres KI-Plugins oder Implementieren eines KI-Backends oder über erste Schritt mit KI:
- KI-Engine-Demo
-
C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\Studio\23.0\Samples\Object Pascal\ToolsAPI\AIEngine Demos\CohereAI_Plugin
- UI-Demo
-
C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\Studio\23.0\Samples\Object Pascal\ToolsAPI\AIEngine Demos\AI_Consumer_CodeSample
ToolsAPI: Fokusmodus
Der Fokusmodus ist so implementiert, dass nur der Quelltext-Editor angezeigt wird. Um andere Ansichten verfügbar zu machen, können Sie GetDisplayInFocusMode implementieren.
Anmerkungen auf der Bildlaufleiste im Editor
Jetzt können Sie eigene Anmerkungen auf der Bildlaufleiste hinzufügen. Normalerweise werden diese wie unsere gezeichnet (horizontale Linien), aber Sie können auch alles andere zeichnen, einschließlich benutzerdefinierter Symbole. Ihre registrierten Bildlaufleisten-Anmerkungen werden auf der Seite "Bildlaufleiste" des Dialogfelds "Optionen" angezeigt, genau wie unsere.
Informationen zu deren Implementierung finden Sie in unserer Dokumentation zu ToolsAPI.Editor.
Verbesserungen der Editor-ToolsAPI
Die folgenden API-Probleme im ToolsAPI.Editor wurden behoben:
- Der Status des Zeilenhervorhebungseditors ist nun korrekt, wenn die Hervorhebung der aktuellen Zeile ein- oder ausgeschaltet ist.
- Der Status der Zelle zeigt nun korrekt an, ob die Zelle Fehler, Warnungen oder Hinweise enthält und ob sie deaktiviert ist (auskommentierte ifdefs).
- Der Paint-Kontextparameter enthält nun die Zellgröße, die der neuen Eigenschaft INTACodeEditorPaintContext290.CellSize hinzugefügt wurde.
- Der Zeilenstatus gibt jetzt korrekt wieder, ob eine Zeile ausgelassen wurde oder nicht.
Debugger
In diesem Release wurden einige wichtige Debugger-Probleme behoben.
Delphi-Inline-Variablen
RAD Studio Version 12.2 aktualisiert den Debugger, sodass er wiederholte Inline-Variablen mit demselben Namen korrekt handhabt.
Weitere Information finden Sie auf unserer Seite Inline-Variablen.
Fehlerbehandlung
In diesem Release wurde die Fehlerbehandlung des Debuggers so aktualisiert, dass angezeigt wird, wenn LLDB abstürzt. Der neue Fehler "Schwerwiegender Debugger-Fehler: Debug-Kernel abgestürzt."
wird angezeigt. In diesem Fall wird der gedebuggte Prozess abgebrochen.
Früher wurde die Meldung "Debug-Kernel antwortet nicht"
angezeigt. Diese kann weiterhin angezeigt werden, aber RAD Studio kann nun besser unterscheiden, ob der Debugger nicht antwortet (möglicherweise dauert die Verarbeitung sehr lange) oder ob es sich um einen Absturz handelt.
Debugger für Windows-64-Bit Modern
Der Toolkette für Win64-C++ Modern verwendet Formatierer für die folgenden Typen:
Delphi | C++ |
---|---|
|
Der Win64X-Debugger zeigt jetzt Packages in der Liste "Module" an, wenn sie geladen sind.
Sonstige Debugger-Verbesserungen
Die folgenden Verbesserungen und Korrekturen wurden in RAD Studio Release 12.2 vorgenommen:
- PAServer wurde auf eine neue Version aktualisiert.
- Beim Erzeugen von C++ (alle Plattformen) können Sie jetzt {{code|NO_ALWAYS_INLINE}} definieren. Das Aktivieren oder Deaktivieren dieses Features hilft, das Ausführen einzelner Anweisungen im Systemcode zu vermeiden, wie z. B. die C++-String-Implementierung.
- Das Debuggen von RAD Server-64-Bit-Packages ist jetzt möglich.
- Wenn Sie "Mit Prozess verbinden" für eine Win64-Anwendung (Delphi) mit Packages verwenden, werden Symbole jetzt korrekt geladen.
- Das Zeitlimit des Dialogfelds
"Debug-Kernel antwortet nicht"
wurde auf 30 Sekunden erweitert. - Beim Debuggen der IDE auf einer VM, wie Parallels ARM, werden die IDE und die Packages korrekt gedebuggt.
- Die Reihenfolge der ThreadCreated- und ThreadExited-Benachrichtigungen sollte nun vollständig konsistent sein und in der Reihenfolge der Ereignisse angezeigt werden.
- Umgekehrte Schrägstriche (Backslashes) im Dialogfeld Start > Parameter funktionieren korrekt.
- Probleme beim Zeichnen in "Lokale Variablen" und anderen Fenstern wurden behoben.
WebStencils
RAD Studio 12.2 führt WebStencils ein, eine serverseitige, skriptbasierte Integration und Verarbeitung von HTML-Dateien für die WebBroker- und RAD Server-Technologien. Es ermöglicht die Entwicklung moderner, professionell aussehender Websites auf der Grundlage beliebiger JavaScript-Bibliotheken, die durch die von einer serverseitigen RAD Studio-Anwendung extrahierten und verarbeiteten Daten unterstützt werden. Dieses Feature wird auch als Vorlagen-Engine bezeichnet und die spezifische Implementierung ähnelt der ASP.NET Razor-Verarbeitung.
WebStencils soll helfen, Webtechnologien (WebBroker, DataSnap, RAD Server) zu übernehmen, indem es serverseitiges Scripting bietet. Dies bedeutet, dass HTML-Seiten mit Standardtools erstellt und beliebige CSS- und JavaScript-Bibliotheken übernommen werden können, wobei die Möglichkeit erhalten bleibt, Daten von den generierten Seiten aus der Anwendung hinzuzufügen, wie z. B. das Ergebnis einer Datenbankabfrage.
Ziel ist es, die Navigation in Websites zu unterstützen, wie z. B.: Blogs, Online-Kataloge, Online-Bestellsysteme, Nachschlagewerke wie Wörterbücher und Wikis. WebStencils kann eine gute Grundlage für HTMX als Lösung für die Webentwicklung sein. Die beiden Technologien ergänzen sich optimal. HTMX-Seiten können von der serverseitigen Codegenerierung profitieren und sich in Bezug auf Inhaltsaktualisierungen in REST-Server einklinken. Delphi-Webtechnologien können Seitengenerierung und REST-APIs auf einem sehr hohen Qualitätsniveau bieten.
In der Vergangenheit haben die WebBroker- und DataSnap-Bibliotheken die PageProducer-Komponente und abgeleitete Komponenten verwendet, um das von einer Webserver-Anwendung zurückgegebene HTML anzupassen. Dies ist sehr begrenzt und muss eine saubere Möglichkeit darstellen, eine gemeinsame Vorlage für die Website-Seiten zur Verfügung zu haben.
Außerdem ist die Tag-basierte Notation (<#custom attrib="value">
) nicht einfach zu verwenden.
Dieses Tag wird zu @custom.value
. Die Ziele der Scripting-Engine sind ein Minimum an Datenzugriff, Schleifen, bedingten Anweisungen und eine Möglichkeit, eine Vorlage mit einer bestimmten Seite zusammenzuführen.
Während sich die Gesamtarchitektur von WebStencils auf die Webentwicklung und die Generierung von HTML konzentriert, kann die Vorlagen-Engine in einer Vielzahl anderer Szenarien eingesetzt werden, z. B. beim Export von Datendateien in Formaten wie XML, JSON, YAML und anderen, bei der Erstellung von Text und Dokumenten, die ein Basis-Skeleton mit Daten zusammenführen, und bei der Verarbeitung von Daten im Allgemeinen.
Eine vollständige Anleitung zur Verwendung dieses Features finden Sie auf unserer Dokumentationsseite WebStencils.
Verbesserungen der Bibliotheken
Im folgenden Abschnitt sind die Verbesserungen beschrieben, die an den verschiedenen RAD Studio-Bibliotheken vorgenommen wurden.
Verbesserungen bei Rad Server
Die Unit EMS.Services enthält nun ein IEMSApiDocumentService-Interface zur Anpassung der Metadaten in den generierten Swagger-doc-Dateien. Diese Metadaten umfassen Title, Version und Description. Das Interface kann wie folgt verwendet werden:
initialization
var LDocSvc: IEMSApiDocumentService;
if TEMSServices.TryGetService<IEMSApiDocumentService>(LDocSvc) then
LDocSvc.SetMetadata('My API', 'ver 1.2.3', 'My public API description');
Die Unit EMS.Services bietet außerdem die Möglichkeit, die über Swagger dokumentierte API zu filtern und zwar mit den Interfaces IEMSApiDocumentFilter und IEMSApiDocumentService. Zum Beispiel:
{ TMyDocFilter }
type
TMyDocFilter = class(TInterfacedObject, IEMSApiDocumentFilter)
protected
function Apply(const AContext: TEndpointContext; const AResource: TEMSResource;
const AAPIDocPath: TAPIDocPath): Boolean;
end;
function TMyDocFilter.Apply(const AContext: TEndpointContext;
const AResource: TEMSResource; const AAPIDocPath: TAPIDocPath): Boolean;
begin
Result := AAPIDocPath.Path.StartsWith('/public');
end;
var
LInd: Integer;
initialization
var LDocSvc: IEMSApiDocumentService;
if TEMSServices.TryGetService<IEMSApiDocumentService>(LDocSvc) then
LDocSvc.AddFilter(TMyDocFilter.Create as IEMSApiDocumentFilter);
finalization
var LDocSvc: IEMSApiDocumentService;
if TEMSServices.TryGetService<IEMSApiDocumentService>(LDocSvc) then
LDocSvc.RemoveFilter(LInd);
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- Der Komponente TEMSDatasetResource wurden zwei weitere Ereignisse hinzugefügt: BeforeRequest und AfterRequest. Jetzt können Sie auf die Anforderung zugreifen, bevor sie automatisch von der Komponente selbst verarbeitet wird, und auf die Antwort zugreifen, kurz bevor sie an den Client gesendet wird.
- Push-Benachrichtigungen in RAD Server (einschließlich Firebase APNS) wurde die angeforderte Unterstützung für HTTP/2 hinzugefügt.
- Erweiterte RAD Server-Swagger-Unterstützung für das YAML-Format.
- Aktualisierte APIDocAttributes-Demo, um die Verwendung von mehrzeiligen String-Literalen zu demonstrieren.
- RAD Server kann Swagger-YAML- oder -JSON-Dokumentation für die verfügbaren APIs automatisch generieren.
- Aktivierte Swagger-Dokumentation für RAD Server mit mehreren Mandanten.
- Die Eigenschaft X-Embarcadero-Session-Token ist jetzt in SwaggerDocs verfügbar.
RTL-Verbesserungen
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- Die neue Klasse TParallelArray wurde der Unit System.Threading mit den Methoden
&For
undSort
hinzugefügt, um die parallele Ausführung einiger Operationen für Array-Elemente zu ermöglichen und sie auf Mehrkern-Computern erheblich zu beschleunigen. - Die neue, von TDictionary<K,V> abgeleitete Klasse TOrderedDictionary wurde der Unit System.Generics.Collections hinzugefügt. Ein geordnetes Dictionary behält die Reihenfolge der dem Dictionary hinzugefügten Elemente bei.
- Verbesserte Unterstützung für RFC822-Datumsangaben in der Unit System.DateUtils.
- SQLTimeStampOffsetToDateTime verwendet jetzt TZ-Infos und gibt die lokale Zeit zurück.
- Die Methode TDirectory.CreateDirectory aus der Unit System.IOUtils löst jetzt eine Exception aus, wenn der Ordner nicht erstellt werden kann.
- Die Klasse TRegistry wurde um eine verbesserte rdMultiString-Unterstützung und die neuen Methoden ReadNone und WriteNone erweitert. Diese Methoden sind in einer Hilfsklasse temporär definiert; siehe unten:
TRegistryHelper = class helper for TRegistry
public
function ReadNone(const Name: string): Boolean;
procedure WriteNone(const Name: string);
end;
VCL-Verbesserungen
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- Für RAD Studio 12.2 wurde die vom Steuerelement FormsTabBar verwendete UI überarbeitet, damit mit einem ausgeblendeten untergeordneten Fenster verbundene Registerkarten dargestellt werden können. Wenn das Formular ausgeblendet ist, verwendet der normale Status jetzt eine Standarddarstellung (reguläre Registerkarten-UI). Der aktive Status verwendet dagegen eine Registerkartenform, die mit Alpha-Transparenz gezeichnet wird. Text, Symbol und Schließen-Schaltfläche in einem untergeordneten Fenster haben das gleiche Aussehen wie im normalen Status.
- Es wurden Probleme im Zusammenhang mit der Skalierung von Frames auf HighDPI-Monitoren zur Lauf- und Entwurfszeit behoben.
FMX-Verbesserungen
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- Die integrierte Version von Skia für Delphi wurde auf Version 6.2.0 aktualisiert.
- Verbesserte Unterstützung für Ressourcenpinsel: Diese Art Pinsel wurde für alle Canvas-Implementierungen auf allen Plattformen hinzugefügt.
- Die Standardformate für die Windows-Zwischenablage wurden standardmäßig mit denselben Namen wie Windows-Konstanten, z. B.
CF_BITMAP
oderCF_DIBj
, hinzugefügt. - FireMonkey bietet nun die Erkennung des hellen/dunklen Designs als Plattformdienst für Windows (mit IFMXSystemAppearanceService).
- Neue Option zur automatischen Größenänderung der TGridPanelLayout-Spalten und -Zeilen anhand eines Prozentwerts.
- Die targetSdkVersion der Android-Manifestdatei kann jetzt im Abschnitt "Versionsinfo" des Dialogfelds "Projektoptionen" konfiguriert werden.
Aktualisierungen des iOS- und macOS-Linkers
In RAD Studio Version 12.2 wurde der Linker für die Apple-Plattformen aktualisiert. Dies ermöglicht insbesondere das Linken mit iOS- und macOS-Bibliotheken, die mit XCode 14 erstellt wurden. Ein Beispiel dafür ist das Firebase iOS-SDK (11.0).
Verbesserungen für Android-Tools
Damit Benutzer mehr Kontrollmöglichkeiten beim Packen von Dateitypen wie 'Dex'
und 'native library'
erhalten und die Diskrepanzen in Bezug auf das Anwendungsverhalten während der Entwicklungs- und Distributionszyklen vermieden werden, wurden in RAD Studio 12.2 der Seite Projekt > Optionen > Anwendung > Packen die Optionen Dex-Dateien komprimieren und Native Bibliotheksdateien komprimieren hinzugefügt.
Durch das Aktivieren der Optionen Dex-Dateien komprimieren und Native Bibliotheksdateien komprimieren enthält jede generierte APK-Datei ('.apk'
) nicht-gezippte ausgerichtete und komprimierte DEX- und native Bibliotheksdateien ('Dex'
und 'native library'
).
Die Optionen Dex-Dateien komprimieren und Native Bibliotheksdateien komprimieren deaktiviert zu belassen, hat eine komplexere Bedeutung, da die Plattformunterstützung für nicht komprimierte DEX- und native Bibliotheksdateien ('Dex'
und 'native library'
) an API-Levels gebunden ist.
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- Das Build-System wurde so aktualisiert, dass Android-Ressourcenoperationen inkrementell durchgeführt werden können. Das Build-System von RAD Studio verwendet die Befehlszeilenanwendung
rclasser
, um die DateiR.jar
zu generieren, die alle für importierte Android-Bibliotheken benötigtenR
-Java-Klassen zum Zugriff auf Android-Ressourcen enthält . - Unterstützung für das Importieren von Android-Bibliotheksdateien (
.aar
) wurde hinzugefügt. - Die targetSdkVersion der Android-Manifestdatei kann jetzt im Abschnitt "Versionsinfo" des Dialogfelds "Projektoptionen" konfiguriert werden.
Datenbank und Internet-bezogene Bibliotheken
Im Folgenden finden Sie Qualitätsverbesserungen in RAD Studio Release 12.2:
- HTTP-Header können jetzt für ISAPI-Module größer als 4 K sein.
- Ein wichtiges Problem mit der ThingPoint-Technologie und den Edge-Modulen in RAD Server wurde behoben.
- Die Komponente TOAuth2Authenticator hat jetzt eine neue Ereignisbehandlungsroutine OnNeedClientCertificate, wie TRestConnection. Dies ermöglicht Benutzern ein Client-Zertifikat zu verwenden und über OAuth2 zu authentifizieren.
- Zu FireDAC wurde die Unterstützung für das Schlüsselwort
'OFFSET'
der Firebird 4-Datenbank hinzugefügt.