Neuerungen in Berlin
Nach oben zu Neuerungen in den letzten Releases
Inhaltsverzeichnis
- 1 Benutzerfreundlichere Installation
- 2 FireMonkey
- 2.1 Unterstützung für Android 6.0
- 2.2 Adressbuch für iOS und Android
- 2.3 Verbesserter Stil-Designer
- 2.4 Neuer ListView-Eintrags-Designer
- 2.5 Erweiterter Dienst zur Unterstützung der Zwischenablage
- 2.6 Verbesserung des Bilderlisten-Editors
- 2.7 Erweiterungen des Gitters
- 2.8 Unterstützung für hohe DPI unter Windows
- 2.9 Verbesserte Unterstützung für Zugriffstasten
- 2.10 Unterstützung für erweiterte Schriftartstile
- 2.11 Änderungen der Eigenschaft Hint
- 2.12 Vereinfachte Dialogfeld-API
- 2.13 Weitere FireMonkey-Änderungen
- 3 VCL
- 4 EMS
- 5 DataSnap
- 6 Web Broker
- 7 FireDAC
- 7.1 Verbesserungen für DB2
- 7.2 Verbesserungen für MongoDB
- 7.3 Verbesserungen für Advantage
- 7.4 Verbesserungen für InterBase
- 7.5 Verbesserungen für Firebird
- 7.6 Verbesserungen für Informix
- 7.7 Verbesserungen für ODBC
- 7.8 Verbesserungen für Oracle
- 7.9 Verbesserungen für PostgreSQL
- 7.10 Verbesserungen für SQLite
- 7.11 Weitere FireDAC-Änderungen
- 8 Cloud-Dienst
- 9 REST-Clientbibliothek
- 10 LiveBindings
- 11 Konnektivitäts-Framework für ThingConnect IoT
- 12 BeaconFence
- 13 RTL
- 13.1 Bluetooth LE- und Beacon-Unterstützung in Windows 10
- 13.2 Verbesserte Bluetooth LE-Ermittlungsleistung
- 13.3 Bluetooth LE enthält neue Ereignisse zum Behandeln von Abonnements für Merkmale
- 13.4 Unterstützung für das Eddystone Beacon-Format
- 13.5 Verbesserte Beacon-Suchleistung
- 13.6 Die Komponente TBeaconDevice unterstützt das Format Eddystone-Beacon
- 13.7 Verbesserungen bei App-Tethering
- 13.8 Unterstützung für asynchrone HTTP-Anforderungen
- 13.9 Unterstützung für verschlüsselte ZIP-Dateien
- 13.10 Verbesserungen von String-Listen
- 13.11 Verbesserungen von TMemIniFile
- 13.12 Pufferunterstützung für TFileStream
- 13.13 Geänderte Syntax für JSON-Pfade für den Zugriff auf Objekteigenschaften
- 13.14 Optimierung von regulären Ausdrücken und String-Ersetzung
- 13.15 Verbesserungen für HTTP-Verbindungen
- 13.16 Funktionen URLEncode / URLDecode
- 13.17 Verwenden von TMessageBase anstatt von TMessage für C++-Projekte
- 13.18 Zu den Typen TRect, TRectF, TPoint und TPointF hinzugefügte C++-Funktionen
- 13.19 Weitere RTL-Änderungen
- 14 Native APIs
- 15 Delphi-Compiler
- 16 Compiler für C++
- 17 IDE
- 17.1 Unverankerter Formular-Designer
- 17.2 FireUI Live-Vorschau
- 17.3 GetIt-Abhängigkeiten
- 17.4 Positionsmarkenstapel
- 17.5 Auswahlerweiterung
- 17.6 Methodentoxizitäts-Metriken
- 17.7 Verbesserungen der Strukturansicht für C++
- 17.8 Verbesserungen des Android-Dienstes
- 17.9 Unterstützung für die Ausführung von iOS-Ad-hoc-Anwendungen
- 17.10 Anpassbare Datei info.plist
- 17.11 Entwurfszeit-Verbesserungen für Android-Smartwatches
- 17.12 Neue Optionsseite für Dateizuordnungen
- 17.13 Neue Option zum Anzeigen von Informationsmeldungen vom Delphi-Compiler
- 17.14 Neue Option zum Ein-/Ausblenden der Navigationssymbolleiste
- 17.15 High-DPI-Unterstützung
- 17.16 Weitere IDE-Änderungen
- 18 Debugger
- 19 Hilfsprogramme
- 20 Beispielanwendungen
- 21 Hilfe
Das Berlin-Release enthält die folgenden neuen und verbesserten Features.
Benutzerfreundlichere Installation
Wir haben den Installationsprozess von RAD Studio verbessert, damit Sie das Produkt einfacher an Ihre Wünsche anpassen können.
Es gibt nun ein neues Online-Installationsprogramm, mit dem eine grundlegende Version von RAD Studio, die als Texteditor verwendet werden kann, sehr schnell installiert wird.
Anschließend können Sie im neuen Dialogfeld "Feature-Manager" die RAD Studio-Features (Programmiersprachen, Zielplattformen usw.) auswählen, die in Ihrer anfänglichen RAD Studio-Installation vorhanden sein sollen. Es werden nur die ausgewählten Features installiert, wodurch Sie Bandbreite, Zeit und Festplattenspeicher sparen.
Später können Sie jederzeit mit dem neuen Dialogfeld "Feature-Manager" RAD Studio-Features hinzufügen oder entfernen.
Bestimmte Software, die im RAD Studio-Online-Installationsprogramm von Seattle einbezogen war, steht nun über den GetIt-Package-Manager zur Verfügung. Weitere Informationen finden Sie unter Optionale zusätzliche Software in den Installationshinweisen.
Das RAD Studio-Online-Installationsprogramm von Seattle ist weiterhin als Offline-Installationsprogramm verfügbar. Dieses Installationsprogramm können Sie verwenden, wenn Ihr System bei der Installation über keine aktive Internet-Verbindung verfügt.
Anweisungen für die Installation und weitere Informationen finden Sie unter Installation.
FireMonkey
Unterstützung für Android 6.0
Android 6.0 (API Level 26) wird jetzt unterstützt.
Adressbuch für iOS und Android
Auf mobilen Plattformen (Android und iOS) unterstützt FireMonkey die Komponente TAddressBook, mit der Sie in Ihren Anwendungen auf das Geräte-Adressbuch zugreifen können. Diese Komponente umfasst folgende grundlegende Funktionen:
- Senden einer Anforderung für den Zugriff auf ein Geräte-Adressbuch und Abrufen des Zugriffsstatus.
- Zugreifen auf alle in dem Geräte-Adressbuch definierten Quellen.
- Abrufen aller oder einzelner Kontakte aus der angegebenen Quelle.
- Abrufen aller Kontakte aus bestimmten Gruppen.
- Bearbeiten oder Entfernen von vorhandenen Kontakten und Gruppen.
- Erstellen neuer Kontakte.
- Erstellen neuer Gruppen.
Weitere Informationen und Beispiele finden Sie unter TAddressBook und Mobile-Tutorial: Verwenden der Adressbuch-Komponente (iOS und Android).
Verbesserter Stil-Designer
Am Stil-Designer wurden mehrere Änderungen und Verbesserungen vorgenommen, wie:
- Unterstützung von Zwischenablage, Tastatur und Mehrfachauswahl in der Strukturansicht.
- Vorschaubereich
- Unterstützung der Zoomfunktion
Neuer ListView-Eintrags-Designer
Das Listenansichts-Steuerelement unterstützt jetzt einen neuen Typ des Erscheinungsbildes für Einträge (auch im Bearbeitungsmodus verfügbar), DynamicAppearance
, mit dem Sie den Inhalt jedes Eintrags in Ihrer Listenansicht anpassen können: Beschriftungen, Bilder, Schaltflächen usw.
Sie können auch im Formular-Designer mit der rechten Maustaste auf die Listenansicht klicken, und den neuen Eintrag Entwurfsmodus umschalten auswählen, um einen visuellen Eintragseditor für die Listenansicht zu aktivieren; damit können Sie die Steuerelemente der Einträge Ihrer Listenansicht visuell anpassen:
In diesem Entwurfsmodus können Sie mit dem Objektinspektor dem Eintragsentwurf Ihrer Listenansicht neue Elemente hinzufügen und sie mit dem Objektinspektor und dem Formular-Designer anpassen.
Erweiterter Dienst zur Unterstützung der Zwischenablage
FireMonkey verfügt jetzt über das Interface IFMXExtendedClipboardService, das neue Features hinzufügt. Beispielsweise können Sie mit dem Interface IFMXExtendedClipboardService:
- Benutzerdefinierte Formate registrieren.
- Daten im benutzerdefinierten Format kopieren/einfügen.
- Den Wert der Zwischenablage direkt ermitteln.
Verbesserung des Bilderlisten-Editors
Jetzt können Sie im Dialogfeld Bilder hinzufügen des Bilderlisten-Editors mehrere Bilder gleichzeitig hinzufügen.
Erweiterungen des Gitters
Die Darstellungslogik und das Datenmodell der Gitter-Steuerelemente wurden von diesen getrennt. Dies ist eine notwendige, fehlerhafte API-Änderung, die es ermöglicht, zukünftig den Gitter-Steuerelementen, unter anderem, Unterstützung der nativen Darstellung hinzuzufügen. Weitere Informationen finden Sie unter Änderungen an den FireMonkey Gitter-Steuerelementen unter Berlin.
uses
-Klauseln Ihres Projekts aufnehmen. In neue Projekte wird diese Unit automatisch aufgenommen.Unterstützung für hohe DPI unter Windows
FireMonkey stellt für Windows verbesserte Unterstützung für hohe DPI bereit, wie die Stile für Mehrfachauflösung, die Monitore mit 120 DPI und 144 DPI unterstützen.
Verbesserte Unterstützung für Zugriffstasten
Die Unterstützung der Zugriffstasten ist nun für folgende Steuerelemente verfügbar:
- TLabel
- TButton
- TRadioButton
- TTabItem von TabControl
- TCheckBox
- TPopupBox.Items von TPopupBox
- TTextControl
- TPresentedTextControl
- TCustomAction
Unterstützung für erweiterte Schriftartstile
TFont erhält eine neue Eigenschaft, StyleExt, zum Behandeln von Schriftarten, die erweiterte Typen von weight (Strichstärke), slant (Schräge) oder stretch (Laufweite der Schrift) haben.
Änderungen der Eigenschaft Hint
In den früheren RAD Studio-Versionen wurde Hint in alle FireMonkey-Steuerelemente aufgenommen, die von TControl abgeleitet sind. Jetzt ist die Eigenschaft Hint in den FireMonkey-Steuerelementen enthalten, die im Thema Änderungen der Eigenschaft Hint in Berlin aufgeführt sind.
Vereinfachte Dialogfeld-API
Diverse Prozeduren und Funktionen zum Anzeigen von Dialogfeldern sind jetzt veraltet und wurden durch Prozeduren und Funktionen der neuen Plattformdienste IFMXDialogServiceAsync und IFMXDialogServiceSync ersetzt, die Unterstützung für synchrone bzw. asynchrone Dialogfelder bereitstellen.
In der folgenden Tabelle sind die API-Änderungen zusammengefasst:
Veraltete Member | Neue Member |
---|---|
|
|
|
|
|
- *
ShowMessage
undShowMessageFmt
sind nicht tatsächlich veraltet, Sie können stattdessen jedoch ShowMessageAsync oder ShowMessageSync verwenden.
Außerdem wurden zwei neue Hilfsklassen erstellt: TDialogServiceAsync und TDialogServiceSync. Diese Hilfsklassen stellen Klassenmethoden und Funktionen bereit, mit denen Sie die neuen Prozeduren und Funktionen für Dialogfelder aufrufen können, ohne dass eine Instanz des entsprechenden Plattformdienstes des Dialogfelds benötigt wird.
Weitere FireMonkey-Änderungen
- Mit der neuen Eigenschaft AbsoluteTargetRect für Auswahlfenster können Sie die Position festlegen, an der ein Auswahlfenster angezeigt werden soll.
- Listenansichten zeigen Touch-Animationen auf Android.
- AppAnalytics verwendet HTTPS anstatt HTTP.
- TMediaPlayer versucht jetzt, die angegebene Mediendatei für die Zielplattform mit dem Standardcodec abzuspielen, falls die Erweiterung der Mediendatei nicht registriert wurde.
- Der Typ Double hat den Typ Extended ersetzt.
- Die veralteten Eigenschaften StrokeThickness, StrokeCap, StrokeDash und StrokeJoin von TShape wurden gelöscht. Verwenden Sie die integrierte Eigenschaft TShape.Stroke, die den Typ TStrokeBrush hat. TStrokeBrush-Objekte verfügen über die Eigenschaften Thickness, Cap, Dash und Join, die Sie anstelle der gelöschten, veralteten Eigenschaften verwenden sollten.
- IFMXWindowService.GetWindowScale ist jetzt veraltet. Verwenden Sie die Eigenschaft Scale des Handles eines Formulars, um die Skalierung des Formularfensters abzurufen.
VCL
- In der RAD Studio-Installation sind Ribbon-Steuerelemente nicht mehr enthalten. Diese Steuerelemente müssen Sie mit dem GetIt-Package-Manager separat installieren.
- AppAnalytics verwendet HTTPS anstatt HTTP.
- Die Methode CreateRoot aus der Unit Vcl.Shell.ShellCtrls ist jetzt virtuell. Stammfelder aus derselben Unit sind jetzt als "protected" anstatt als "private" deklariert.
EMS
Unterstützung für den Apache-Server
Sie können jetzt den EMS-Server und die EMS-Konsole im Apache-Server in einer Produktionsumgebung ausführen.
Weitere Informationen finden Sie unter Installieren und Ausführen des EMS-Servers und der EMS-Konsole auf dem Apache-Server.
Domänenübergreifende API-Aufrufe des EMS-Servers
Der EMS-Server ermöglicht nun domänenübergreifende Aufrufe seiner API aus anderen Domänen. Weitere Informationen finden Sie unter Domänenübergreifende EMS-Server-API.
RAD Server EdgeModules
EMS unterstützt jetzt das neue RAD Server EdgeModules-Feature, eine Erweiterung der Funktionalität der RAD Server Engine (EMS-Server).
In Berlin können Sie RAD Server EdgeModules als eigenständige Anwendungen ausführen und sie beim EMS-Server registrieren. Die EMS-EdgeModule-Kommunikation mit der RAD Server Engine (EMS-Server) erfolgt bidirektional.
Weitere Informationen dazu finden Sie unter RAD Server EdgeModules.
RAD Server-Ressource "EdgeModules"
In der EMS-Konsole werden jetzt zwei neue Tabellen mit allen Informationen zu EMS-EdgeModule und dessen Ressourcen angezeigt, die in der RAD Server Engine (EMS-Server) geladen sind.
Die Anwendung "RAD Server Management Console" verfügt über zwei neue Registerkarten zum einfachen Abrufen, Aktualisieren und Löschen der Daten der registrierten EMS-EdgeModules und deren Ressourcen. Einzelheiten zum Verwalten der EMS-EdgeModules-Daten in der RAD Server Engine (EMS-Server) finden Sie unter Verwenden der Anwendung "RAD Server Management Console".
Überblick zu ThingPoint
Verwenden Sie die neuen ThingPoint-Anwendungen, um die Funktionalität der RAD Server Engine (EMS-Server) für das Internet der Dinge (Internet of Things, IoT) zu erweitern. Mit einer ThingPoint-Anwendung können Sie Daten von sich in der Nähe befindlichen ThingConnect-Geräten erfassen, IoT-Daten vor- und nachverarbeiten und sie in der RAD Server Engine (EMS-Server) speichern.
Im EMS.ThingPoint IoT-Beispiel wird gezeigt, wie mit einer ThingPoint-Anwendung die RAD Server Engine (EMS-Server) erweitert wird und diese Daten von einer EMS-Client-Anwendung verwendet werden können.
Weitere Informationen zu ThingPoint-Anwendungen finden Sie unter Überblick zu ThingPoint.
RAD Server-Ressource "API"
Eine neue Ressource im EMS-Server stellt nun eine API-Dokumentation für alle Ressourcen und Endpunktmethoden des EMS-Servers bereit. Die API-Dokumentation kann in den Formaten YAML und JSON genutzt werden.
Weitere Informationen finden Sie unter RAD Server-Ressource "API".
Benutzerdefinierte API-Dokumentation
Der EMS-Server stellt jetzt die Tools zum Erstellen der API-Dokumentation für neue Ressourcen in erweiterten EMS-Server-Packages bereit. Die neue Dokumentation wird durch Hinzufügen von Attributen zu den neuen Ressourcen und Endpunkten erstellt. Die API-Dokumentation wird in den Formaten YAML und JSON und der Zugriff darauf via HTTP bereitgestellt.
Weitere Informationen finden Sie unter Benutzerdefinierte API-Dokumentation.
DataSnap
Unterstützung für JSON-Streaming
Neue Klasse TDBXJSONStream zur Unterstützung von JSON-Streaming zwischen DataSnap-Servern und -Clients.
Mit TDBXJSONStream können Sie einen Stream von JSON-Objekten lesen und schreiben, allerdings nicht gleichzeitig.
Weitere DataSnap-Änderungen
Web Broker
Für C++-Projekte aus früheren Versionen mit Web.WebReq ist eine Aktualisierung erforderlich
Für C++-Projekte aus älteren Versionen, wie DataSnap-, Web-Broker- und Webdienst-Anwendungen, die die Unit Web.WebReq verwenden, muss der Code aus Kompatibilitätsgründen mit RAD Studio Athens aktualisiert werden.
In diesen Projekten muss die folgende Zeile aus der cpp
-Projektdatei entfernt werden:
#pragma link "Web.WebReq"
Weitere Web Broker-Änderungen
- Die String-Behandlung wurde verbessert.
- Die Web-Broker-API verwendet standardmäßig die UTF-8-Codierung anstelle von ANSI.
- Die Parameter- und Ergebnistypen wurden von AnsiString in String, UTF8String oder TBytes geändert.
FireDAC
Verbesserungen für DB2
- Der native DB2-Treiber und der ODBC-Brückentreiber werden für DB2 AS/400 unterstützt.
- Neuer Verbindungsdefinitionsparameter:
TxSupported
, der die Deaktivierung der FireDAC-Transaktionsverwaltung ermöglicht.
Verbesserungen für MongoDB
- Unterstützung für Datenbankwarnungen. Es werden Benachrichtigungen über Einfügeoperationen einer größenbeschränkten MongoDB-Dokumentsammlung (EN) verwendet. Weitere Informationen dazu finden Sie unter Datenbankwarnungen (FireDAC).
- Neue Methode TMongoDocument.Iterate, um Dokumenteneinträge zu durchlaufen. Weitere Informationen finden Sie in der neuen Demo
Object Pascal\Database\FireDAC\Samples\DBMS Specific\MongoDB\ListView
.
Verbesserungen für Advantage
- Für Advantage v12 und höher:
- Verbesserung von TFDADSBackup und TFDADSRestore, um Unterstützung für das Sicherungsarchiv hinzuzufügen.
- Unterstützung des Datentyps
GUID
.
- Verbesserte Unterstützung für verschlüsselte Tabellen:
- Möglichkeit zur Bereitstellung eines einzelnen -Passworts für alle Tabellen.
- Unterstützung für den Verschlüsselungs-/Entschlüsselungs-Dienst.
Verbesserungen für InterBase
- Neue Dienstkomponente, TFDIBInfo, zur Abfrage von Version, Lizenz, Konfiguration und Nutzungsdaten des Servers.
- Unterstützung für interne Streams für das BLOB-Streaming.
- Unterstützung für Array-Datentypen von InterBase. Weitere Informationen finden Sie in der neuen Demo FireDAC.InterBase Arrays.
- TIBRestoreOptions.roReplace ersetzt
TIBRestoreOptions.roCreate
.
Verbesserungen für Firebird
- Neue Dienstkomponente, TFDIBInfo, zur Abfrage von Version, Lizenz, Konfiguration und Nutzungsdaten des Servers.
- Unterstützung für interne Streams für das BLOB-Streaming.
- Unterstützung für Array-Datentypen von Firebird. Weitere Informationen finden Sie in der neuen Demo FireDAC.InterBase Arrays.
- TIBRestoreOptions.roReplace ersetzt
TIBRestoreOptions.roCreate
.
Verbesserungen für Informix
- Die Klasse TFDInfxError implementiert die Unterstützung für die Rückgabe des ISAM-Fehlercodes.
- Neue Verbindungsdefinitionsparameter:
TxRetainLocks
undTxLastCommitted
. - Unterstützung für pessimistisches Sperren.
Verbesserungen für ODBC
- Neuer Verbindungsdefinitionsparameter:
ODBCVersion
=3.8
|3.0
, der zur Festlegung der Behavior-Version (EN) des ODBC-Treibermanagers verwendet wird. Setzen Sie den Parameterwert auf3.8
, wenn Ihre Anwendung BLOB-Ausgabeparameter verwendet und der ODBC-Treiber die Behavior-Version3.8
unterstützt. - Unterstützung für Datentypzuordnungen mit Datentypnamen.
Verbesserungen für Oracle
- Für Oracle 10g und höher:
- Unterstützung für Benachrichtigungen über Abfrageänderungen (EN) in TFDEventAlerter. Weitere Informationen finden Sie in der neuen Demo
Object Pascal\Database\FireDAC\Samples\DBMS Specific\Oracle\CQN
.
- Unterstützung für Benachrichtigungen über Abfrageänderungen (EN) in TFDEventAlerter. Weitere Informationen finden Sie in der neuen Demo
- Für Oracle 11g und höher:
- Neue Komponente, TFDOracleAdmin zum Verwalten einer Oracle-Datenbankinstanz.
- Unterstützung für 64-Bit- und vorzeichenlose 32-Bit-Integerwerte.
- Unterstützung für das implizite Abrufen der ROWID (EN). ROWID ist implizit in der SELECT-Liste
SELECT … FOR UPDATE
enthalten, um das effektive Bearbeiten von Datenmengen zu ermöglichen. - Unterstützung für Netzwerk-Timeouts. Neue Verbindungsdefinitionsparameter:
ReadTimeout
undWriteTimeout
.
- Für Oracle 12c und höher:
- Unterstützung für die 32K-Datentypen VARCHAR2, NVARCHAR2 und RAW.
- Unterstützung für native boolesche Werte in PL/SQL.
- Unterstützung für Identitätsspalten (EN), die als Auto-Inkrementierungsfelder erkannt werden.
- Unterstützung für implizite Ergebnisse (EN). Mit NextRecordSet können Sie diese verarbeiten.
- Verbesserte Erkennung und Synchronisierung des Transaktionsstatus.
- Unterstützung für neue Authentifizierungsmodi im Verbindungsdefinitionsparameter
AuthMode
:SYSASM
,SYSBACKUP
,SYSDG
undSYSKM
.
Verbesserungen für PostgreSQL
- Für PostgreSQL 9.2 und höher:
- Unterstützung für den Datentyp JSON
- Unterstützung für Bereichstypen (EN).
- Für PostgreSQL 9.3 und später:
- Unterstützung zur Identifizierung von Objektfehlerfeldern. Zu diesem Zweck wurden FireDAC.Phys.PGWrapper.TFDPgError die folgenden Eigenschaften hinzugefügt:
- SchemaName: Enthält den Namen des Schemas, das das dem Fehler zugeordnete Datenbankobjekt enthält.
- TableName: Enthält den Namen der Tabelle, die dem Fehler zugeordnet ist.
- ColumnName: Enthält den Namen der Spalte, die dem Fehler zugeordnet ist.
- TypeName: Enthält den Namen des Datentyps, der dem Fehler zugeordnet ist.
- ConstraintName: Enthält den Namen der Einschränkung, die dem Fehler zugeordnet ist.
- Unterstützung zur Identifizierung von Objektfehlerfeldern. Zu diesem Zweck wurden FireDAC.Phys.PGWrapper.TFDPgError die folgenden Eigenschaften hinzugefügt:
- Für PostgreSQL 9.4 und höher:
- Unterstützung für den Datentyp JSONB (EN).
- Unterstützung für PostgreSQL-Client- und -Server-Version 9.5.
- Verbesserte Unterstützung für eingeschränkte Arrays:
- Neuer Verbindungsdefinitionsparameter,
ArrayScanSample
, mit dem ermittelt wird, ob ArraysftArray
oderftDataSet
zugeordnet sind. - Mit der Eigenschaft
TFDParam.ArrayType=atTable
können Sie Arrays an den Server senden.
- Neuer Verbindungsdefinitionsparameter,
Verbesserungen für SQLite
- SQLite-Binärdateien wurden auf Version 3.9.2 aktualisiert.
- Für SQLite v3.8.9 und später:
- Unterstützung erweiterter Infos zu Indexspalten, einschließlich Infos darüber, ob sie absteigend oder aufsteigend verlaufen oder ob sie Basisspalten oder Ausdrucksspalten sind.
- Unterstützung für Ausdrucksindizes.
- Für OS X:
- Vorerzeugte, optimierte Client-Bibliothek. Sie sollten
libcgsqlite3.dylib
bereitstellen, wenn Sie Anwendungen für OS X erstellen, die FireDAC und SQLite verwenden. - Unterstützung für statisches Linken mit
libcgsqlite3.dylib
. - Unterstützung für Verschlüsselung.
- Vorerzeugte, optimierte Client-Bibliothek. Sie sollten
Weitere FireDAC-Änderungen
- TFDDataSet.Reconcile trägt standardmäßig keine konsolidierten Änderungen mehr ein. Wenn Sie
True
anTFDDataSet.Reconcile
übergeben, werden konsolidierte Änderungen allerdings immer eingetragen, auch wenn UpdateOptions.AutoCommitUpdatesFalse
ist. - Der Typ von TFDVersion wurde von Int64 in UInt64 geändert.
- Die Units FireDAC.Phys.ODBCBase und FireDAC.Phys.ODBCWrapper wurden aus dem Package
FireDACODBCDriver240.bpl
in das PackageFireDACCommonODBC240.bpl
verschoben. - Sie können eine Gruppe von Zusammenführungsoptionen in Aufrufen von TFDDataSet.MergeDataSet festlegen.
Cloud-Dienst
Amazon
AmazonAPI wird jetzt für folgende Aktionen unterstützt:
- Löschen aller Nachrichten in einer Queue.
- Verwalten des Lebenszyklus (EN) der Objekte in einem Speicher mithilfe von GetBucketLifecycleXML, SetBucketLifecycle und DeleteBucketLifecycle.
Azure
- AzureAPI unterstützt jetzt die folgenden API-Versionen:
- Microsoft Azure Blob Service:
API Version 21.02.2015
- Microsoft Azure Table Service:
API Version 21.02.2015
- Microsoft Azure Queue Service:
API Version 21.02.2015
- Microsoft Azure Blob Service:
- Unterstützung für Append-Blobs:
- Jetzt können Sie Append-Blobs erstellen.
- Sie können den vorhandenen Append-Blobs Daten hinzufügen.
- Verbesserte Unterstützung für Zugriffsrichtlinien:
- Unterstützung für Zugriffsrichtlinien in Bezug auf Warteschlangen und Tabellen hinzugefügt.
- TPolicy und ihre Unterklassen (TBlobPolicy, TQueuePolicy, TTablePolicy) ersetzen TAccessPolicy, die jetzt veraltet ist.
- Verbesserte Leasing-Unterstützug für Blobs und Blob-Container:
- Unterstützung für Leasing-Container und weitere Operationen in Zusammenhang mit Container-Leasing hinzugefügt.
- Jetzt können Sie den Bezeichner eines Blob-Leasing ändern.
- Sie können außerdem einen Bezeichner für das neue Leasing vorschlagen, wenn Sie ein Blob mit einem Leasing belegen.
- Diensteigenschaften und Statistiken:
- Unterstützung für Eigenschaften des Blob-Diensts, Warteschlangendiensts und Tabellendiensts hinzugefügt.
- Unterstützung für Statistiken des Blob-Diensts, des Warteschlangendiensts und des Tabellendiensts hinzugefügt.
- Die Azure-Dienste stellen eine neue Eigenschaft bereit, Timeout, mit der Sie das Timeout für Ihre Anforderungen festlegen können.
REST-Clientbibliothek
- Die Unit
REST.Exception
ist jetzt veraltet. Die Klassen dieser Unit gehören nun zur Unit REST.Types.
LiveBindings
- Auswertungs-Tastenkürzel sind ein neues, standardmäßig aktiviertes Feature von einigen Bindungskomponenten, das die Leistung von LiveBindings beim Füllen von Listen- oder Tabellensteuerelementen mit einfachen Bindungsausdrücken verbessert. Siehe Verwenden von Auswertungs-Tastenkürzel.
- Die Klasse TConverterUtils aus System.Bindings.Outputs ist jetzt public. TConverterUtils stellt eine Reihe von Hilfsmethoden zum Zuweisen eines Wertetyps zu einem anderen Wertetyp und zum Umwandeln eines Wertetyps in einen anderen Wertetyp bereit.
Konnektivitäts-Framework für ThingConnect IoT
ThingConnect verwandelt Standard- und benutzerdefinierte intelligente Geräte, Sensoren und Wearables für das Internet der Dinge (Internet of Things, IoT) in einfach zu verwendende API-Komponenten. Weitere Informationen finden Sie in der ThingConnect-Dokumentation.
BeaconFence
Wir haben BeaconFence in RAD Studio Berlin neue Features hinzugefügt. Zu den Verbesserungen von BeaconFence zählen:
- Zonenerkennung mit
Position
oderPositionInPath
. - Beacons-Unterstützung auf der Windows-Plattform.
- Anpassungsfunktion der aktuellen Position.
- Unterstützung für Eddystone-Beacons.
- Verbesserte Berechnungsleistung.
- Neue Funktionalität zum Zeichnen.
- Zwei neue Eigenschaften wurden für den Zugriff auf die zuletzt berechneten Positionen hinzugefügt:
LastRawPosition
LastPathPosition
- Neues Feature zum programmseitigen Aktivieren/Deaktivieren von Beacons. Die Eigenschaft
UseToPositioning
gibt an, ob der Beacon für die Berechnung der Position verwendet wird oder nicht.
RTL
Bluetooth LE- und Beacon-Unterstützung in Windows 10
RAD Studio Berlin enthält die neue WinRT Bluetooth-API zur Unterstützung von Bluetooth Low Energy und Beacons auf der Windows 10-Plattform. Sie können jetzt Anwendungen auf Windows 10 ausführen, die Folgendes ermöglichen:
- Nach BLE-Geräten suchen, die Daten bekanntgeben.
- BLE-Bekanntgabedaten senden und empfangen.
- Benutzerdefinierte BLE-Bekanntgabedaten über die herstellerspezifischen Daten senden.
- Beacons mit iBeacon (EN)- und AltBeacon (EN)-Formaten verwenden.
Verbesserte Bluetooth LE-Ermittlungsleistung
Die RTL stellt jetzt eine neue Implementierung des BLE-Suchfilters bereit, der die neuen BLE-Chips mit geringem Energieverbrauch nutzt.
Sie können jetzt nach bestimmten BLE-Geräten suchen, indem Sie unabhängige, angepasste Suchfilter verwenden. Dazu können Sie:
- Ihren Filter als einen TBluetoothLEScanFilter erstellen.
- Die Felder angeben, nach denen Ihre Geräte gefiltert werden sollen.
- Optional können Sie für Geräte, die ManufacturerSpecificData (herstellerspezifische Daten) wie z. B. AltBeacons und iBeacons nutzen, mit der Hilfsklasse TBeaconManufacturerDataHelper nach diesen Daten filtern. Übergeben Sie dann den TBeaconManufacturerDataHelper-Inhalt an den Filter.
- Zum Schluss fügen Sie den Filter der Filterliste hinzu und starten mithilfe der neuen Implementierung von StartDiscovery die Ermittlung von Geräten.
Bluetooth LE enthält neue Ereignisse zum Behandeln von Abonnements für Merkmale
Die Komponente TBluetoothLE stellt zwei neue Ereignisse zum Behandeln von Abonnements für GATT-Server-Merkmale bereit:
- OnCharacteristicSubscribed wird ausgelöst, wenn ein Remote-Gerät ein GATT-Server-Merkmal abonniert.
- OnCharacteristicUnSubscribed wird ausgelöst, wenn ein Remote-Gerät das Abonnement eines GATT-Server-Merkmals aufhebt.
Die bereits vorhandenen Ereignisse OnConnect und OnDisconnect wurden jetzt in die Komponente TBluetoothLE aufgenommen:
- Das Ereignis OnConnect wird ausgelöst, wenn Sie eine Verbindung zu einem Remote-Gerät des GATT-Servers herstellen.
- Das Ereignis OnDisconnect wird ausgelöst, wenn Sie die Verbindung zu einem Remote-Gerät des GATT-Servers trennen.
Unterstützung für das Eddystone Beacon-Format
Die RTL fügt Unterstützung für die Verwendung von Beacons mit dem Eddystone (EN)-Format hinzu. Es gibt drei mögliche Typen:
- EddystoneUID: Der Beacon sendet einen Bezeichner, der aus einem Namespace und einer Instanz (Instance) besteht.
- EddystoneURL: Der Beacon sendet einen URL in einem komprimierten Format.
- EddystoneTLM: Der Beacon sendet Telemetrieninformationen im Zusammenhang mit dem Status des Beacons.
Verbesserte Beacon-Suchleistung
Durch Hinzufügen neuer BLE-Suchfilter wurde das Beacon-Framework verbessert und bietet folgende Aktionen:
- Suche nach beliebigen Beacontypen zur gleichen Zeit.
- Suche nach nicht registrierten Beacons.
Sie müssen jetzt einen zu überwachenden Beacon nicht registrieren. Stattdessen können Sie:
- Auf Ihrem TBeacon-Gerät den Extended-Modus festlegen.
- Die zu überwachenden nicht registrierten Beacons in der Eigenschaft ModeExtended angeben.
- Die neue Methode StartScan zum Suchen der angegebenen Beacons verwenden.
Weitere Informationen finden Sie unter Registrieren von Beacons und Suchen nach Beacons.
Die Komponente TBeaconDevice unterstützt das Format Eddystone-Beacon
Durch Hinzufügen der Eddystone-Beacons wurde die Unterstützung für dieses Format in der Komponente TBeaconDevice ermöglicht.
Mit TBeaconDevice können Sie jetzt Anwendungen auf Ihrem BLE-Gerät ausführen, die Näherungsdaten mit den Spezifikationen (EN) eines Eddystone-Beacons bekanntgeben.
Sie können die Formate EddystoneUID und EddystoneURL über die Eigenschaft BeaconType auswählen.
Plattformunterstützung:
- Auf Android-Geräten können Sie das Eddystone-Format mit Version 5.0 oder höher bekanntgeben.
- Auf iOS-Geräten können nur iBeacon-Frames bekanntgegeben werden.
- Windows-Geräte lassen das Eddystone-Format nicht zu, da mit der WinRT-API für BLE die bekanntgegebenen ServiceData nicht angepasst werden können.
Verbesserungen bei App-Tethering
Zu App-Tethering wurden die folgenden Features hinzugefügt:
- Zwei neue Netzwerk-Adapter, die die Unterstützung von Multicast (EN) für IPv4 und IPv6 bereitstellen. Sie können Ihren Manager für deren Verwendung konfigurieren.
- Sie können einen Bereich von IPv4-Adressen als Ziel der Ermittlung von Remote-Managern festlegen.
- Unterstützung für Protokollfilterung. Sie können die Protokollierung für bestimmte Elemente der App-Tethering-Architektur aktivieren oder deaktivieren.
- Profile können jetzt steuern, ob Verbindungsanforderungen von Remote-Profilen zulässig sind oder nicht. Daher wurde:
- Das Ereignis
TTetheringProfile.OnConnectProfile
in OnBeforeConnectProfile und OnAfterConnectProfile unterteilt. - Der Ereignistyp
TTetheringDisconnectEvent
in TTetheringProfileEvent umbenannt.
- Das Ereignis
Unterstützung für asynchrone HTTP-Anforderungen
Sie können jetzt HTTP-Anforderungen asynchron senden, sodass die Ausführung Ihrer Anwendung während eines Downloads nicht angehalten wird.
Informationen zur Verwendung der HTTP-Client-Komponenten finden Sie unter Asynchrones Ausführen von Anforderungen. Informationen zur Verwendung der HTTP-Client-API finden Sie unter THTTPClient.
Unterstützung für verschlüsselte ZIP-Dateien
TZipFile stellt ein Ereignis (oder eine Callback-Funktion) zur Verfügung, die Sie beim Extrahieren von verschlüsselten ZIP-Dateien, wie z. B. passwortgeschützten ZIP-Dateien, zum Dekomprimieren nutzen können.
Verbesserungen von String-Listen
TStrings und Unterklassen wie TStringList enthalten nun folgende Features:
- AddPair zum Hinzufügen von Schlüssel/Wertepaaren zu der String-Liste mit dem sprechenden Programmierstil.
- KeyNames zum Abrufen einer Liste mit Schlüsseln aus einer String-Liste, die Schlüssel/Wertepaare enthält.
- Options zum einfachen Steuern vieler boolescher Eigenschaften in der String-Liste.
- SetStrings, um die Strings aus einem anderen TStrings-Objekt zu kopieren. Die Prozedur entspricht Assign, jedoch ohne mehrere Eigenschaften zu kopieren wie Assign.
- TrailingLineBreak; die Eigenschaft bestimmt, ob die Eigenschaft Text nach der letzten Zeile einen Zeilenumbruch enthalten muss oder nicht.
- Updating; die Eigenschaft gibt an, ob sich die String-Liste mitten in einer Aktualisierung befindet oder nicht.
- UseLocale; die Eigenschaft legt die Implementierung fest, die die String-Liste zum Vergleichen der Strings verwenden muss.
- ExtractName erhielt ein neues Feld (
AllNames
), das die Rückgabe von ExtractName festlegt, wenn der zu analysierende String kein Schlüssel/Wertepaar ist.
TStringList
erhält zudem neue überladene Konstruktoren zum Vereinfachen der Erstellung von initialisierten Instanzen von TStringList
.
Verbesserungen von TMemIniFile
TMemIniFile hat folgende Features erhalten:
- Sie können den Wert der Eigenschaft CaseSensitive jetzt im Aufruf an den Konstruktor angeben.
- Die neue Eigenschaft Modified gibt an, ob die INI-Datei geändert wurde, nachdem sie von der Festplatte geladen wurde.
- Die neue Eigenschaft AutoSave bestimmt, ob die Instanz von
TMemIniFile
Änderungen auf der Festplatte speichern soll, wenn sie freigegeben wird.
Pufferunterstützung für TFileStream
TFDFileStream
wurde aus FireDAC.Stan.Util nach System.Classes verschoben und in TBufferedFileStream umbenannt.
TBufferedFileStream ist von TFileStream abgeleitet und optimiert mehrere aufeinanderfolgende kleine Schreib- oder Lesevorgänge. Mit anderen Worten: TBufferedFileStream fügt die Unterstützung für das Puffern zu TFileStream hinzu.
Geänderte Syntax für JSON-Pfade für den Zugriff auf Objekteigenschaften
Die unterstützte JSON-Pfadsyntax für den Zugriff auf Objekteigenschaften, die in ihren Namen Punkte enthalten, wurde in Berlin geändert:
Syntaxbeispiel | Seattle | Berlin |
---|---|---|
|
|
|
|
|
|
|
|
Optimierung von regulären Ausdrücken und String-Ersetzung
Die Verwendung von regulären Ausdrücken wird jetzt durch Verkürzung der Ausführungszeit und Verbesserung der Arbeitsspeichernutzung optimiert.
Die folgende Tabelle enthält ein Beispiel für die beschleunigte Ausführungszeit bei Verwendung der optimierten regulären Ausdrücke auf Windows- und Android-Plattformen. Diese Beispiele wurden für eine einfache Analyse der regulären Ausdrücke (170 KB-Datei) berechnet.
Plattform | Ausführungszeit (ms) | Beschleunigung | |
---|---|---|---|
Vorher | Optimiert | ||
Windows (Intel i7, Windows 7) | 5900 | 29 | ~310x |
Android (Motorola E(2nd gen), Android 5.0.2) | 47075 | 420 | ~111x |
Eine sehr große Anzahl von Übereinstimmungen beeinflusst jetzt aufgrund der Optimierung die Auslastung des Arbeitsspeichers nicht wesentlich.
Die Leistung der Funktion StringReplace wurde auch verbessert.
Verbesserungen für HTTP-Verbindungen
- Zwei neue Timeouts:
ConnectionTimeout
undResponseTimeout
für das HTTP-Framework und die HTTP-Komponente.
Funktionen URLEncode / URLDecode
Die Funktionen zur URL-Codierung und -Decodierung wurden nach System.NetEncoding verschoben.
Die Funktionen System.Net.URLClient.TURI.URLEncode und System.Net.URLClient.TURI.URLDecode sind jetzt veraltet. Verwenden Sie stattdessen System.NetEncoding.TURLEncoding.URLDecode und System.NetEncoding.TURLEncoding.Encode.
Die folgenden neuen Funktionen wurden System.NetEncoding hinzugefügt:
Verwenden von TMessageBase anstatt von TMessage für C++-Projekte
Die Klasse TMessage aus System.Messaging wurde in TMessageBase umbenannt, um Mehrdeutigkeiten in C++-Projekten zu vermeiden, die andere Units mit eigener Meldungsbehandlung, wie Winapi.Messages, einbeziehen.
TMessage verbleibt als Alias für TMessageBase.
Zu den Typen TRect, TRectF, TPoint und TPointF hinzugefügte C++-Funktionen
Neue C++-Funktionen wurden System.Types hinzugefügt:
Weitere RTL-Änderungen
- Die Ereignisse OnConnectedDevice und OnDisconnectDevice von TBluetoothGattServer werden nun von Android unterstützt.
- Die Stringtypen UTF8String und RawByteString werden jetzt auf iOS und Android unterstützt.
- Die Parallel Programming Library enthält jetzt einen neuen Record, TThreadPoolStats, den Sie für Diagnosezwecke zum Erfassen einer Momentaufnahme des internen Zustands eines Thread-Pools verwenden können.
- Die Getter-Methoden von THTTPResponse sind jetzt als public deklariert, daher müssen Sie die Interfaces IURLResponse oder IHTTPResponse dafür nicht mehr verwenden.
- Die Klasse
EOperationCanceled
aus der Unit System.Threading wurde in EOperationCancelled umbenannt und in die Unit System.SysUtils verschoben. - In der RTL wurde die Unit-Abhängigkeit
Winapi.ActiveX
von der UnitWinapi.Winrt
entfernt. - Die Prozedur ShowMessage ist jetzt unter iOS asynchron.
- Die Funktion ToString des Typs TTimeSpan ist jetzt public.
- HTTP Client-Unterstützung zur automatischen Dekomprimierung einer Antwort in der Inhaltscodierung gzip (EN).
- Der TZDecompressionStream-Konstruktor hat den neuen Parameter
OwnsStream
. Damit wird angegeben, ob diese Klasse Eigentümer des Komprimierungs-Streams ist oder nicht.
Native APIs
- Die in der Unit
Androidapi.JNI.Bluetooth
enthaltene Android Bluetooth LE-API wurde mit neuen Klassen und Methoden entsprechend den Änderungen aktualisiert, die in API-Level 21 (EN) für die Android-Plattform 5.0 oder höher eingeführt wurden. - RAD Studio enthält neue Units für DirectX 12 (EN).
- Units für WinRT sind jetzt einfacher zu verwenden.
Delphi-Compiler
Verbesserte Leistung bei der Compilierung von Generics
An Delphi-Compilern wurde eine Reihe von Änderungen für Generics vorgenommen, wodurch die folgenden Verbesserungen erzielt wurden:
- Die Analyse von Generics erfolgt jetzt bis zu dreimal schneller.
- Die Leistung von DCC32 und DCC64 beim Linken von Projekten mit umfangreicher Verwendung von Generics wurde verbessert.
Attribute werden von allen Compilern unterstützt
Alle Delphi-Compiler unterstützen jetzt die folgenden Attribute:
Weitere Verbesserungen der Delphi-Compiler
- Der für bedingte Symbole zugewiesene Speicherplatz wurde von 256 Byte auf 4096 Byte erweitert.
- Zur Durchsetzung der Sichtbarkeitssemantik können unterstützende Klassen und Records nicht auf private Member der Klassen oder Records zugreifen, die sie erweitern.
Compiler für C++
Aktualisierung von BCCAARM und BCCIOSARM
BCCAARM und BCCIOSARM wurden für die Verwendung von Clang 3.3 und LLVM 3.3 aktualisiert.
Verbesserte C++-Unterstützung für Delphi-Typen
In C++-Compilern, die durch Clang erweitert wurden:
- Sie können für Strings und für die folgenden RTL-Container und abgeleiteten Container bereichsbasierte for-Schleifen und STL-Iteratoren verwenden: DynamicArray, TCollection und TEnumerable.
- Sie können Lambda-Ausdrücke in Aufrufen von TParallel::For, TTask::Create oder TTask::Future verwenden.
Änderungen von C++-Optionen
In C++-Compilern, die durch Clang erweitert wurden:
- Die Befehlszeilenoption
-PC
zum Aktivieren der parallelen Compilierung in der Befehlszeile ist jetzt veraltet. Verwenden Sie stattdessen--jobs=<N>
. Weitere Informationen finden Sie unter Verwenden der parallelen Compilierung. - Die Befehlszeilenoption
-fmath-errno
, mit der die Anzeige von Fehlern von mathematischen Funktionen angefordert wird, kann jetzt in der IDE konfiguriert werden. Sie finden die Option in den Gleitkomma-Optionen unter Projekt > Optionen > C++-Compiler > Erweitert. Diese Option ist standardmäßig für die durch Clang erweiterten C++-Compiler aktiviert.
Weitere Änderungen an C++-Compilern
- Der BCC32C-Compiler stellt jetzt eine Abhängigkeitsprüfung bereit. Der Befehl Make compiliert nur die Dateien, die seit dem letzten Erzeugen geändert wurden, und Dateien, deren Abhängigkeiten sich geändert haben.
- Die Bibliothek compiler-rt (EN) steht jetzt für BCC32C und BCC64 zur Verfügung.
Entfernung der Legacyheader
#include
).Wie in Änderungen von C++ für XE8 bekanntgegeben, wurden die älteren Header aus den folgenden Klassen entfernt:
- In Units, die in RAD Studio XE2 oder später eingeführt wurden. Diese Änderung kann zu Fehlern führen, wenn Sie anstelle von voll qualifizierten Headern nicht qualifizierte Header einführen. Geben Sie beispielsweise für die Verwendung der Unit
System.SysUtils
statt#include <SysUtils.hpp>
#include <System.SysUtils.hpp>
ein. - In einigen Units, die vor RAD Studio XE2 eingeführt wurden, wie z. B.
Soap.SOAPMidas
. In diesem Fall istSoap.SOAPMidas
der Name der Unit und der Name des Package. Deshalb sollten Sie zur Vermeidung von Namenskonflikten#include <Soap.SOAPMidas.hpp>
anstatt von#include <SOAPMidas.hpp> verwenden
. - Die DirectX Übersetzungsheader.
IDE
Unverankerter Formular-Designer
Sie können jetzt den Formular-Designer für die VCL und für FireMonkey frei platzierbar anzeigen. Sie können den eingebetteten Designer in den Optionen für den Formular-Designer aktivieren oder deaktivieren. Um den Formular-Designer frei platzierbar anzeigen, wählen Sie Tools > Optionen > Formular-Designer, deaktivieren das Kontrollkästchen Eingebetteter Designer und klicken auf OK. Die Änderungen werden beim nächsten Start der IDE wirksam.
FireUI Live-Vorschau
FireUI Live-Vorschau ist ein neues Tool in RAD Studio, das das aktive Formular der entworfenen Anwendung, gleichzeitig an verschiedene Geräte übermittelt, um festzustellen, wie das Anwendungsdesign in Echtzeit aussieht.
FireUI Live-Vorschau besteht aus zwei Teilen:
- FireUI Live-Vorschau (IDE): Die IDE fungiert als Server, der die Verbindungen der Geräte verwaltet.
- FireUI App-Vorschau: Die Client-Anwendung, über die die Zielgeräte eine Verbindung zu einer IDE-Instanz herstellen.
FireUI Live-Vorschau (IDE) benötigt keine weitere Installation und enthält die Standardkonfiguration. Informationen zum Konfigurieren zusätzlicher IDE-Optionen finden Sie unter FireUI Live-Vorschau (IDE-Optionen).
Informationen zum Beziehen des Clients finden Sie unter Beziehen der FireUI App-Vorschau.
GetIt-Abhängigkeiten
Neue Projektoptionen-Seite zur Verwaltung von GetIt-Abhängigkeiten.
In diesem Dialogfeld können Sie die Projektabhängigkeiten in Bezug auf die Packages des GetIt-Package-Managers festlegen.
Die Optionsseite GetIt-Abhängigkeiten befindet sich unter Projekt > Optionen > GetIt-Abhängigkeiten.
Positionsmarkenstapel
Der Positionsmarkenstapel stellt eine Methode zur Navigation durch Ihren Quellcode dar, bei der Sie Ihrem Code aufeinandergestapelte Positionsmarken hinzufügen. Anhand der Positionsmarken können Sie dann zurücknavigieren. Dabei wird jeweils zur letzten Positionsmarke des Stapels navigiert, also zur letzten Positionsmarke, die auf dem Stapel abgelegt wurde.
Weitere Informationen finden Sie unter Stapelpositionsmarken und Verwenden des Positionsmarkenstapels.
Auswahlerweiterung
Mit der Auswahlerweiterung können Sie den Bezeichner, auf dem sich der Cursor befindet, auswählen und die Auswahl zu größeren syntaktischen Gruppen erweitern, wie z. B. Anweisung, Zeile, Block, Methode usw. Drücken Sie die Tastenkombination STRG+W
, um die Auswahl zu starten und zu erweitern.
Weitere Informationen finden Sie unter Auswahlerweiterung.
Methodentoxizitäts-Metriken
Die neue Projektseite Methodentoxizitäts-Metriken (Projekt > Methodentoxizitäts-Metriken) enthält Metriken zu den Funktionen Ihres aktiven Projekts, die Sie zum Suchen von für eine Umgestaltung (Refactoring) geeigneten Methoden verwenden können. Sie können Ihre Metriken im CSV-Format exportieren und die Schwellenwerte für Schlüsselmetriken auf der neuen Optionsseite Toxizitätsmetriken anpassen.
Verbesserungen der Strukturansicht für C++
Die Strukturansicht wurde verschiedenen Verbesserungen für C++ unterzogen, wie:
- Unterstützung für Modernes C++-Features, wie Alias-Templates oder Initialisierungslisten.
- Unterstützung für Funktionen, die einen Funktionszeiger (EN) zurückgeben.
- Unterstützung für unbenannte Bit-Felder (EN).
- Verbesserte Unterstützung für throw.
Verbesserungen des Android-Dienstes
- Neuer Experte für das automatische Entfernen von Android-Dienst-Projekten aus geräteübergreifenden Anwendungen.
- Projekt-Abhängigkeiten sind automatisch aktiviert:
- Diese Option ermöglicht, dass alle Android-Dienst-Projekte, die einer geräteübergreifenden Anwendung hinzugefügt wurden, automatisch vor der Hauptanwendung erzeugt werden.
Weitere Informationen finden Sie unter Erstellen von Android-Diensten.
Unterstützung für die Ausführung von iOS-Ad-hoc-Anwendungen
Sie können jetzt iOS-Anwendungen, die mit der Plattformkonfiguration Ad-hoc erstellt werden, aus der IDE ausführen.
Anpassbare Datei info.plist
Sie können Ihre info.plist-Datei für OS X- und iOS-Anwendungen anpassen.
Entwurfszeit-Verbesserungen für Android-Smartwatches
Der Formular-Designer stellt jetzt Folgendes zur Verfügung:
- Zwei spezielle Ansichten für Android-Smartwatches.
- Eine Vorschau des Designbereichs für vier verschiedene Android-Smartwatches.
Weitere Informationen finden Sie unter Erstellen von Anwendungen für Android-Smartwatches.
Neue Optionsseite für Dateizuordnungen
In früheren Versionen mussten Sie während der Installation auswählen, welche Dateierweiterungen RAD Studio zugeordnet werden sollten.
Jetzt können Sie RAD Studio-Dateizuordnungen auf der neuen Optionsseite Dateizuordnung konfigurieren.
Neue Option zum Anzeigen von Informationsmeldungen vom Delphi-Compiler
Die IDE ermöglicht jetzt die Anzeige von Informationsmeldungen vom Delphi-Compiler auf der Ausgabe-Registerkarte Meldungsfenster.
In Projekt > Optionen > Delphi-Compiler können Sie die Option Allgemeine Meldungen anzeigen für Ihr Projekt aktivieren.
In der IDE können Sie jetzt die Navigationssymbolleiste für den Quelltext-Editor ausblenden.
Die neue Option Navigationssymbolleiste anzeigen befindet sich in Tools > Optionen > Editor-Optionen > Anzeige.
Weitere Informationen finden Sie unter So blenden Sie die Navigationssymbolleiste aus.
High-DPI-Unterstützung
Die IDE bietet jetzt DPI-Unterstützung (EN). Damit wird die Benutzerfreundlichkeit auf Systemen erhöht, die einen höheren DPI-Wert als 96 PPI verwenden.
Weitere IDE-Änderungen
- Die CPU-Ansicht unterstützt das Debuggen von iOS- und Android-Anwendungen.
Debugger
iOS- und Android-Debugger
- Verbesserte Unterstützung für Dynamische Arrays in Delphi.
64-Bit-iOS-Debugger
Der 64-Bit-iOS-Debugger verfügt nun über die folgenden Features:
- Unicode-Unterstützung.
- Verbesserte Unterstützung für Delphi-Arrays, -Strings und -Zeichen.
- Unterstützung für nicht-nullbasierte Arrays.
- Unterstützung zum Auswerten von Eigenschaften und Varianten.
- Möglichkeit der Definition von Haltepunkten in C++-Headerdateien.
Hilfsprogramme
- Das Java2OP.exe-Tool arbeitet jetzt mit JDK 8.
- Neues Tool SdkTransform.exe. Damit können Objective-C- oder C++-Header in Delphi-Header umgewandelt werden.
Beispielanwendungen
Neue Beispielanwendungen wurden Berlin hinzugefügt:
- C++-Version der Beispiele:
- Das Beispiel RTL.RegExpression FMX.
- Das Beispiel RTL.RegExpression VCL.
- Das Beispiel VCL.Windows 10 SharingContract.
- EMS-Beispiele:
- Das Beispiel EMS.ThingPoint IoT.
- Das Beispiel EMS.APIDocAttributes.
- FireMonkey-Beispiele:
- Das Beispiel FMX.Remote Service Demo.
- Das Beispiel FMX.Birthday Reminder Demo.
- Das Beispiel FMX.SimplePhysics.
- Das Beispiel FMX.StreamingMedia.
- FireDAC-Beispiele:
- Das Beispiel FireDAC.InterBase Arrays.
- Das Beispiel FireDAC.PostgreSQL Ranges.
- Das Beispiel FireDAC.PostgreSQL Arrays.
- Das Beispiel FireDAC.SQLite Encryption.
- Das Beispiel FireDAC.Oracle CQN.
- Das Beispiel FireDAC.MongoDB ListView.
- RTL-Beispiele:
- Das Beispiel RTL.ExtendedBeaconScanner.
- Das Beispiel RTL.HttpAsyncDownload.
Hilfe
- Für CHM-Dateien ist nun die Registerkarte Favoriten verfügbar.