Neuerungen in 10.4 Sydney
Neue Delphi Features
Wichtige Verbesserungen für Delphi Code Insight
RAD Studio 10.4 stellt Code Insight über eine Delphi-Implementierung des Language Server Protocol (LSP, Sprachserverprotokoll) bereit und liefert damit die umfassendste und beste Optimierung der Code-Werkzeuge von Delphi seit vielen Jahren. LSP ist eine Technik zur Berechnung von Ergebnissen für Programmierhilfe, Navigation oder ähnliches in einem separaten Prozess. Das bedeutet, dass die IDE während der Verarbeitung niemals blockiert und Code Insight genaue Ergebnisse liefert. 10.4 ermöglicht eine deutlich verbesserte Entwicklerproduktivität bei der Arbeit mit großen Projekten mit Millionen von Codezeilen.
Mehr Infos
Neue Sprach-Features für Delphi
Benutzerdefinierte verwaltete Records
Als wesentliche Ergänzung der Delphi-Sprache unterstützt der Delphi-Typ "Record" nun benutzerdefinierte Initialisierungs-, Finalisierungs- und Kopieroperationen. Entwickler können jetzt anhand von in den verschiedenen Schritten auszuführendem Code anpassen, wie Records erstellt, kopiert und freigegeben werden. Auf diese Weise werden Records – ein Konstrukt, mit dem bessere Effizienz als mit Klassen erreicht werden kann – in Delphi noch leistungsfähiger.
Einheitliche Speicherverwaltung
Die Speicherverwaltung in Delphi ist jetzt aufgrund der klassischen Implementierung der Objektspeicherverwaltung auf allen unterstützten Plattformen – mobil, Desktop und Server – einheitlich. Im Vergleich zur automatischen Referenzzählung (Automatic Reference Counting, ARC) wird damit eine bessere Kompatibilität mit vorhandenem Code und eine einfachere Programmierung von Komponenten, Bibliotheken und Endbenutzer-Anwendungen erreicht. Das ARC-Modell bleibt für die String-Verwaltung und interface-Typreferenzen für alle Plattformen bestehen.
Für C++ bedeutet diese Änderung, dass die Erstellung und Freigabe von Klassen im Delphi-Stil in C++ gemäß der üblichen Speicherverwaltung erfolgen, genau wie bei einer auf dem Heap zugewiesenen C++-Klasse. Die Komplexität wurde so deutlich verringert. Weniger Infos
Neue C++Builder-Features
Erweiterte Unterstützung für C++-Bibliotheken
In 10.4 wurden zahlreiche beliebte C++-Bibliotheken nach C++Builder portiert und damit eine optimierte Unterstützung für die Verwendung innerhalb von C++Builder bereitgestellt. Dazu zählen Bibliotheken wie ZeroMQ, SDL2, SOCI, libSIMDpp und Nematode sowie andere bereits unterstützte wie Eigen, die mit dem GetIt-Package-Manager heruntergeladen werden können.
Mehr Infos
Debuggen von Win 64 und Linker für C++
10.4 enthält einen neuen Debugger für Windows 64 Bit für C++. Auf Grundlage von LLDB bietet dieser Debugger wesentliche Verbesserungen der Stabilität beim Debuggen von 64-Bit-Anwendungen sowie eine neue Funktion für die Auswertung und Untersuchung von Typen wie C++- und Delphi-Strings plus STL-Sammlungen mit std::vector und std::map und vieles mehr. Darüber hinaus verwenden die für eine Anwendung generierten Debug-Informationen ein anderes Debug-Format. Auf diese Weise wird ein stabileres, funktionsreicheres Debuggen und eine viel leistungsfähigere Untersuchung und Auswertung während des Debuggens ermöglicht. Leistungs- und Qualitätsverbesserungen für die Toolkette
- Umfangreiche STL-Verbesserungen von Dinkumware
- Verbesserungen mehrerer RTL-Schlüsselmethoden und -bereiche auf Grundlage von Verbesserungen der Kompatibilität mit gängigen C++-Bibliotheken
- Verbesserungen der CMake-Unterstützung
- Eine große Anzahl an Qualitäts- und Stabilitätsverbesserungen
Weniger Infos
Neue VCL-Windows-Features
Änderungen des VCL-Stils für High DPI
- In 10.4 wurde die Architektur der VCL-Stile zur Unterstützung von High DPI und 4K-Monitoren wesentlich erweitert. Alle UI-Steuerelemente auf einem VCL-Formular werden jetzt automatisch für die richtige Auflösung des Monitors, auf dem das Formular angezeigt wird, skaliert.
- Die Stil-API wurde vollständig überarbeitet und unterstützt jetzt High DPI-Stile. Jedes UI-Element kann aus einer Bibliothek, die Versionen dieses Elements für die Mehrfachskalierung enthält, ausgewählt und auf eine beliebige DPI skaliert werden. Sie erhalten auf diese Weise gestochen scharfe UI-Elemente auf allen Monitoren.
Mehr Infos
Neue High DPI-Stile
Es wurde eine große Anzahl der integrierten und Premium-VCL-Stile zur Unterstützung für den neuen High DPI-Stilmodus aktualisiert, mit dem Sie visuell beeindruckende Anwendungen für jeden Monitor entwerfen können.
Update der Windows-API
Es wurden viele API-Deklarationen verbessert und zusätzliche Deklarationen zur weiteren Verbesserung der hervorragenden Plattformintegration von RAD Studio hinzugefügt.
Zuweisen von VCL-Stilen pro Steuerelement
VCL-Entwickler können jetzt mehrere VCL-Stile auf verschiedenen Formularen innerhalb einer einzigen Anwendung oder sogar verschiedene visuelle Steuerelemente, die sich auf demselben Formular befinden, verwenden. Dazu gehört auch die Unterstützung für die Gestaltung beliebiger Elemente mit dem Standard-Plattformdesign. Dies ermöglicht nicht nur mehr Flexibilität bei der Gestaltung, sondern auch die Verwendung von nicht mit Stilen versehenen Steuerelementen von Drittanbietern innerhalb einer mit Stilen versehenen VCL-Anwendung.
Neue VCL-Komponente:
Edge-Browser-Steuerelement
10.4 enthält eine neue VCL-Webbrowserkomponente, TEdgeBrowser, die dass neue, auf Chrom basierende Edge WebView2 von Microsoft verwendet. Dies bietet eine viel modernere und sicherere HTML-Engine im Vergleich zum alten TWebBrowser, der auf dem Internet Explorer basiert.
Darüber hinaus wurde die klassische TWebBrowser-Komponente erweitert, sodass die Browser-Steuerelemente in einer vorhandenen Anwendung entweder den Internet Explorer oder Edge-Browser verwenden können, je nachdem, welcher Browser auf dem System verfügbar ist.
Neue VCL-Komponente:
TTitleBarPanel und benutzerdefinierte Titelleisten
Mit dem neuen Steuerelement TTitleBarPanel und der Eigenschaft TForm.CustomTitleBar können Sie die native Windows-Titelleiste eines VCL-Formulars anpassen. Sie können VCL-Steuerelemente auf der Windows-Titelleiste platzieren, das standardmäßige Zeichnen von Elementen wie dem Fenstersymbol und der Beschriftung steuern, neue benutzerdefinierte Systemschaltflächen neben den Schaltflächen "Minimieren", "Maximieren" und "Schließen" hinzufügen oder sogar die Titelleiste vollständig benutzerdefiniert zeichnen. Dies ermöglicht Ihnen die Erstellung moderner, erweiterter Titelleisten, ähnlich wie in Office, Explorer, Google Chrome oder anderen Anwendungen.
Neue VCL-Komponente:
Bild-Komponente mit Unterstützung für Mehrfachauflösung
Die neue Komponente TVirtualImage unterstützt mehrere Auflösungen und die DPI-Skalierung und ermöglicht durch Ersetzen der klassischen TImage-Komponente eine hochwertige Bildskalierung und -anzeige. Weniger Infos
Wichtige Erweiterungen der FireMonkey-Plattform
- GPU-Unterstützung des Metal-Treibers für macOS und iOS: Auf der macOS-Plattform (Delphi) können Sie jetzt Anwendungen mit der Metal-API erzeugen, anstatt mit der alten Quartz-API und OpenGL (veraltet bei Apple). Die FireMonkey-Unterstützung für Metal bietet eine reibungslose Migration für künftige Anforderungen und eine bessere Leistung beim Bildschirm-Rendering. In 10.4 haben wir auch Unterstützung für die Metal-API für iOS (Delphi und C++Builder) hinzugefügt.
- Zusätzlich zur Unterstützung des neuesten iOS-SDK können Entwickler mit RAD Studio 10.4 durch die integrierte IDE-Unterstützung auch die neuen Anforderungen von Apple an das Storyboard für den Startbildschirm erfüllen.
- Dieses Release enthält auf der Windows-Plattform eine neue FMX-Implementierung für die mit Stilen versehene Komponente TMemo, die eine bessere Unterstützung für IME und zusätzliche Verbesserungen bietet.
- Benutzer der Enterprise- und Architect-Edition können die FMXLinux-Integration zum Erzeugen von Linux-GUI-Anwendungen nutzen.
- Das Steuerelement TWebBrowser für iOS ist jetzt über die WKWebView-API implementiert.
Verbesserungen in 10.4 Sydney
Wichtige Verbesserungen für die Laufzeitbibliothek
- Erweiterte Unterstützung für die Parallel Programming Library: Die Parallel Programming Library (PPL) ermöglicht, dass Ihre Anwendungen Aufgaben parallel auf modernen Mehrkern-CPUs ausführen. In 10.4 wurden zahlreiche Leistungs- und Stabilitätsverbesserungen an der PPL-Bibliothek vorgenommen.
- In 10.4 wurden einige allgemeine Verbesserungen an der FireDAC-Bibliothek für den Datenbankzugriff vorgenommen und zudem die Treiber für FireBird, PostgreSQL und SQLite aktualisiert. Für die eingebettete SQLite-Datenbank bieten wir jetzt die Möglichkeit, zwischen statischem oder dynamischem Linken zu wählen.
- Es wurden die HTTP- und REST-Client-Bibliotheken um zusätzliche HTTPS-Funktionen erweitert und auch die Unterstützung für Amazon AWS-Dienste wurde erweitert.
- Leistungs- und Funktionsverbesserungen für LiveBindings
- In 10.4 wurden viele Verbesserungen an der Visual LiveBindings-Architektur und -Implementierung sowohl für VCL- als auch für FireMonkey-Anwendungen vorgenommen, wobei ein besonderer Schwerpunkt auf der Leistung liegt. Infolgedessen werden einige der LiveBindings-Operationen wesentlich schneller ausgeführt.
- Zu den weiteren Verbesserungen gehört, dass sich VCL- und FMX-Steuerelemente, die an ein TDataSet gebunden sind, automatisch an zugehörige TField-Eigenschaften, wie DisplayWidth, Alignment und EditMask, anpassen.
Wichtige IDE-Verbesserungen
- Verbesserungen des GetIt-Package-Managers
- Der GetIt-Package-Manager in der IDE erhielt in 10.4 wesentliche Verbesserungen. Dazu gehört die Anzeige von Veröffentlichungsterminen für jedes Package mit der Möglichkeit, sie nach Veröffentlichungsdatum zu sortieren, neue Filteroptionen für installierte Packages, exklusive Inhalte für Kunden mit Update-Abonnement, Packages, für die Updates verfügbar sind, und vieles mehr.
- Einheitliches Installationsprogramm für Online- und Offline-Installationen
- In 10.4 wird mit der GetIt-Installationsprogrammtechnologie ein einheitliches Installationsprogramm eingeführt. Damit steht ein einziges Installationsprogramm zur Verfügung, das sowohl Online-Installationen (mit Internetanschluss) als auch Offline-Installationen (über eine ISO) unterstützt. Jetzt können Sie bei Online- und bei Offline-Installationen einen ersten Satz von RAD Studio-Funktionen zur Installation auswählen, z. B. Unterstützung für bestimmte Kombinationen von Programmiersprachen und Zielplattformen, Sprachunterstützung oder Hilferessourcen, und diese jederzeit hinzufügen oder entfernen.
- Der Quelltext-Editor weist mehrere Produktivitätsverbesserungen auf, darunter in der Statusleiste des Editors neue Einstellungen wie Datei-Codepage und Schriftgröße.
- Die IDE und wichtige Dialogfelder implementieren mit dem neuen Steuerelement TCustomTitleBar in der Titelleiste die Suchfunktion und Einstellungen. Damit wird ein natives Look-and-Feel und DWM-Verhalten wie bei Windows ermöglicht.
Verbessern Sie Ihre Codequalität mit plattformübergreifenden bewährten Verfahren leistungsstarker objektorientierter Sprachen. Mit integrierten Unit-Tests, Inline-Dokumentation, Unterstützung von GOF-Design-Pattern sowie mit Audits und Metriken werden Sie zum Topstar der Programmierung!

Viele Plattformen, eine Quellcodebasis
Erstellen Sie schnell ausgeführten Programmcode in noch kürzerer Zeit auf der Basis von Bibliotheken, auf die weltweit Millionen von Entwicklern vertrauen. Mit plattformübergreifenden Bibliotheken verfügen Sie über eine leistungsstarke Quelle von vielfach getestetem und hochoptimiertem Programmcode, mit dem Sie den Markt schneller und mit einem besseren Angebot als Ihre Wettbewerber erschließen.
So erhöht beispielsweise die Parallel Programming Library die Leistung mit einer asynchronen Programmierung und einem selbstoptimierenden Thread-Pool exponentiell. Durch vereinfachtes Erstellen plattformübergreifender Multi-Thread-Anwendungen, die komplett das Potenzial von Mehrkern-CPUs ausschöpfen, kommen Entwickler automatisch in den Genuss einer erheblichen Leistungssteigerung für ihre FireMonkey-Anwendungen, unabhängig von der Zielplattform.

Codedokumentation, die sich sofort auszahlt!
Mit RAD Studio verwandeln Sie die Dokumentation Ihres Programmcodes in eine für Sie oder die anderen Entwickler in Ihrem Team sofort verfügbare Inline-Hilfe. Der agile „///“-Ansatz der Codedokumentation bis auf die Parameterebene hinunter steht Ihnen bei der Programmierung als benutzerdefinierte Hilfe zur Verfügung. Sie können Ihre Codedokumentation auch in HTML, CHM oder in andere Dokumentationsformate konvertieren.

Extreme Programming und Continuous Integration mit integrierten Unit-Tests
Unit-Tests sind eine zentrale Funktion des Extreme Programming (XP) zur Sicherstellung der Codequalität. Mit RAD Studio können Sie mithilfe der integrierten DUnit- und DUnitX-Frameworks Unit-Tests für Ihren gesamten Programmcode erstellen. Führen Sie Unit-Tests an der Befehlszeile im Rahmen einer Continuous Integration (CI) oder mit der grafischen Benutzeroberfläche für erfolgreiche Programmtests durch.

Tiefgreifende Analyse der Codeausführung
CodeSite ändert die Art und Weise, wie Entwickler Probleme im Programmcode ermitteln, grundlegend. Sie können damit jeder Anwendung eine hochleistungsfähige Live-Protokollierung hinzufügen und so den Ablauf Ihrer Anwendung ohne Unterbrechung der Ausführung nachvollziehen. Protokollieren Sie Text, Werte, Objekte sowie Grafiken und überprüfen Sie, was nach einem bestimmten Ereignis passiert.

Messbare Programmcodequalität in Ihren Projekten
Führen Sie mit Codemetriken eine umfassende statische Analyse Ihres Programmcodes durch. Mit Code-Audits können Sie sicherstellen, dass die richtigen Programmiertechniken und -methoden für Ihre Quellecodebasis verwendet werden. Dazu stehen Ihnen im Rahmen Ihres Continuous-Integration-Verfahrens sowohl die RAD Studio-IDE wie die Befehlszeile zur Verfügung.

Unterstützung von Design-Pattern als bewährtes OOP-Verfahren
Pattern bieten Softwareentwicklern ein leistungsstarkes Instrument zur Wiederverwendung von Programmcode. Mit vordefinierten Pattern sind Sie nicht mehr gezwungen, jedes Programmierproblem von Neuem zu lösen. Fügen Sie Ihrem Programmcode im Rahmen der integrierten Unterstützung der Modellierung schnell und einfach die bekannten Standard-Pattern „Gang of Four“ mit vordefinierten Design-Pattern hinzu.
ausblendenMit den RAD Studio-IDE-Funktionen zur Zusammenarbeit und Versionskontrolle erstellen Sie bessere Produkte in kürzerer Zeit – sowohl als einzelner Entwickler als auch im Team. Durch Codezusammenarbeit werden das Verständnis des Programmcodes, der Test und die Produktqualität verbessert.

Umfassende Repository-Integration des Quellcodes
In der RAD Studio-IDE verfolgen Sie mit verschiedenen Versionskontrollsystemen die Änderungen Ihres Projekts nach. Durch Unterstützung von Subversion-, Git- und Mercurial-Repositorys können Sie eine breite Palette von allgemeinen Aufgaben der Quellcodeverwaltung wie Hinzufügen und Aktualisieren von Projekten und Dateien sowie Überprüfen des Änderungsverlaufs und von Überarbeitungen zur Ermittlung von Unterschieden im Code durchführen.

Vergleichs- und Zusammenführungs-Viewer
Mithilfe des integrierten Vergleichs-Viewers oder Verknüpfung eines eigenen Viewers lassen sich auf einfache Weise Änderungen und der Änderungsverlauf auf der Registerkarte „Historie“ in der Codeanzeige überprüfen.
Das Standardtool für den Textvergleich basiert auf Beyond Compare und ermöglicht die schnelle Ermittlung von Unterschieden mit einer sprachspezifischen Hervorhebung für Object Pascal, C++, HTML und DFM.

Passen Sie Ihre Tools individuell an
Die RAD Studio-IDE unterstützt benutzerdefinierte Verknüpfungen, die sich ideal für ein Linking mit externen Ressourcen (wie Jira oder Confluence) mithilfe des Menüs „Tools“ und einer Vielzahl vordefinierter Parameter auf der Basis des aktuellen Projekts verwenden lassen.
Für eine umfassendere Integration in Teamsysteme ermöglicht die Open Tools-API Entwicklern das Erstellen benutzerdefinierter IDE-Plug-ins und auch deren Vertrieb.

Kontinuierliche Integration
Die RAD Studio-IDE verfügt über Befehlszeilen-Compiler, die sich perfekt für eine schnelle kontinuierliche Integration in Build-Konfigurationen unter Verwendung des MSBuild-Formats eignen. Externe Tools wie Hudson und Jenkins bieten in Verbindung mit einem integrierten Unit-Test, der von DUnit und DUnitX unterstützt wird, eine stabile Grundlage für eine kontinuierliche Integration.
ausblenden