Neuerungen in Seattle
Nach oben zu Neuerungen in den letzten Releases
Das Seattle-Release enthält die folgenden neuen und verbesserten Features.
- Hinweis: Informationen zur Kompatibilität mit macOS 10.11 (El Capitan) und iOS 9 finden Sie unter Hinweise zu macOS 10.11 und iOS 9.
Inhaltsverzeichnis
- 1 Compiler für C++
- 1.1 Neuer durch Clang erweiterter C++-Compiler für 32-Bit-Windows
- 1.2 Aktualisierte Clang- und LLVM-Versionen
- 1.3 Parallele Compilierung für durch Clang erweiterte C++-Compiler
- 1.4 Einschränkungen des Schlüsselworts __property bei C++-Compilern der vorherigen Generation
- 1.5 Neue Konstante für durch Clang erweiterte C++-Compiler
- 2 FireMonkey
- 2.1 FireMonkey unterstützt Windows 10
- 2.2 Übernehmen von Daten in andere Anwendungen auf macOS per Drag&Drop
- 2.3 Neue FireMonkey-Stile
- 2.4 Neue native Windows-Darstellung von FireMonkey
- 2.5 Registerkartenwechsel im Register-Steuerelement
- 2.6 Entfernung der Größenbeschränkungen von TCalendar
- 2.7 Native iOS-Listenansicht unterstützt benutzerdefinierte Erscheinungsbilder
- 2.8 Visuelle FireMonkey-Steuerelemente können Hinweise anzeigen, wenn der Mauszeiger darüber geführt wird
- 2.9 Touch-Animation für Android
- 2.10 Systembenachrichtigungen wurden in die RTL verschoben und werden von Windows unterstützt
- 2.11 FireMonkey-Stil-Designer
- 2.12 Neue Funktion "GetFirstWeekday"
- 2.13 Mit Stilen versehene Darstellungskonstruktoren erhalten das Datenmodell und das Steuerelement
- 2.14 Umgestaltung des Listenansichts-Steuerelements
- 2.15 TStyledPresentationProxy ersetzt alle mit Stilen versehenen Proxy-Klassen
- 2.16 Umgestaltung von TCalendar
- 2.17 Weitere FireMonkey-Änderungen
- 3 VCL
- 4 RTL
- 4.1 Registrieren Ihrer Anwendung für die Behandlung von Android-Intents
- 4.2 JSON-Verbesserungen
- 4.3 Ausführen asynchroner Remote-Aktionen
- 4.4 GATT-Serverunterstützung für Android 5
- 4.5 Unterstützung für internationalisierte Domänennamen
- 4.6 Unterstützung für SHA-2 Hashing
- 4.7 Verbesserungen bei Bluetooth
- 4.8 Refactoring der App-Tethering-Kommunikation
- 4.9 Weitere RTL-Änderungen
- 5 IDE
- 5.1 Verbesserungen des Arbeitsspeichers
- 5.2 Neues Android-Dienstprojekt
- 5.3 Verbesserte Unterstützung für mehrere Bildschirmkonfigurationen
- 5.4 Integration der Castalia-Funktionen in der IDE
- 5.5 Auto-Wiederherstellen
- 5.6 Ändern der Schriftgröße im Quelltext-Editor
- 5.7 Aktualisierung der Subversion-Bibliotheken in der IDE
- 5.8 Verbesserungen des GetIt-Package-Managers
- 5.9 Umbenannte Beschriftungen auf der Bereitstellungsseite "macOS - Anwendungs-Store"
- 5.10 Neue Option für den Zugriff von iOS 9-Anwendungen auf Nicht-SSL-URLs
- 5.11 Neue Option zum Hinzufügen der Unterstützung für die Ausführung im Hintergrund unter iOS
- 5.12 Neue Option zur Aktivierung der High-DPI-Unterstützung in Ihren VCL-Anwendungen
- 5.13 Verbesserungen des Objektinspektors
- 5.14 Neue Symbole für die Strukturansicht
- 5.15 Neuer Standardwert für den Parameter InstallLocation im Android-Manifest
- 5.16 Neue Option zum Ausblenden nicht-visueller Komponenten beim Entwurf
- 5.17 Neues Aussehen und Verhalten des Dialogfeldes "Verzeichnis auswählen"
- 5.18 Verbesserungen der Tools-API
- 5.19 Verbesserte Unterstützung für ältere Projekte
- 6 Änderungen für Datenbanken
- 7 Cloud
- 8 Änderungen des Debuggers für Seattle
- 9 Änderungen des Test-Frameworks für Seattle
- 10 Integrierte Frameworks und SDKs
- 11 Hilfe
- 12 Hinweise zu macOS 10.11 und iOS 9
Compiler für C++
Neuer durch Clang erweiterter C++-Compiler für 32-Bit-Windows
BCC32C ist ein durch Clang erweiterter C++-Compiler für 32-Bit-Windows. Mit BCC32C können Sie die Vorteile vieler C++11-Features nutzen und einfacher eine einzige Codebasis für 32-Bit- und 64-Bit-Windows verwalten.
BCC32C ersetzt BCC32 nicht; in RAD Studio können Sie wählen, welchen Compiler Sie für das jeweilige Projekt verwenden möchten. BCC32 ist der Standard-C++-Compiler für 32-Bit-Windows. Um für ein Projekt zu BCC32C zu wechseln, wählen Sie Projekt > Optionen > C++-Compiler und deaktivieren unter Klassischer Compiler die Option "'Klassischen' Borland-Compiler verwenden".
Aktualisierte Clang- und LLVM-Versionen
BCC32C und BCC64, durch Clang erweiterte C++-Compiler für Windows, wurden auf Clang 3.3 und LLVM 3.3 aktualisiert.
Parallele Compilierung für durch Clang erweiterte C++-Compiler
In Seattle können Sie in C++-Compilern, die durch Clang erweitert wurden, die parallele Compilierung aktivieren, um die Compilierungsdauer auf Systemen mit Mehrkernprozessoren signifikant zu reduzieren.
Einschränkungen des Schlüsselworts __property bei C++-Compilern der vorherigen Generation
Die BCC32- und BCCOSX-Compiler unterstützen das Schlüsselwort default
für indizierte Eigenschaften nicht. Weitere Informationen finden Sie unter __property - Compiler-Unterstützung.
Neue Konstante für durch Clang erweiterte C++-Compiler
Die Konstante RTLVersion wird von C++-Compilern, die durch Clang erweitert wurden, nicht unterstützt. Sie können stattdessen RTLVersionC verwenden.
FireMonkey
FireMonkey unterstützt Windows 10
FireMonkey unterstützt das Erstellen von nativen Anwendungen für Windows 10 vollständig. Das Framework ermittelt automatisch die Zielplattform, lädt zur Laufzeit den entsprechenden nativen Stil und zeigt ihn an, ohne dass Sie ein Stilbuch oder Code hinzufügen müssen.
Übernehmen von Daten in andere Anwendungen auf macOS per Drag&Drop
IFMXDragDropService, der FireMonkey-Plattformdienst, der die Unterstützung für Drag&Drop-Operationen bereitstellt, unterstützt jetzt das Ziehen von Daten aus einer FireMonkey-Anwendung in eine andere Anwendung.
Neue FireMonkey-Stile
Neue FireMonkey-Stile für Windows 10 sind in Seattle enthalten: Win10Modern.Style, Win10ModernBlue.Style und Win10ModernDark.Style.
Die FireMonkey-Stile finden Sie unter C:\Users\Public\Documents\Embarcadero\Studio\17.0\Styles
.
Neue native Windows-Darstellung von FireMonkey
Die folgenden Steuerelemente unterstützen die native Darstellung auf der Windows-Plattform:
Informationen über die Steuerung der Z-Reihenfolgenunterstützung für Windows durch FireMonkey.
Weitere Informationen über native Windows-Steuerelemente finden Sie unter Native Windows-Steuerelemente von FireMonkey.
Registerkartenwechsel im Register-Steuerelement
Die Komponente TTabControl unterstützt die Registerkartennavigation durch einen Bildlauf, wenn die Registerkarten nicht in die Breite des Register-Steuerelements passen. Um diese Funktion zu verwenden, müssen Sie die Eigenschaft FullSize auf False
setzen.
Wenn die Breite aller Registerkarten nicht in die Breite des Register-Steuerelements passt, werden beim Entwurf rechts und links Schaltflächen angezeigt, die angeben, dass ein Bildlauf zu verborgenen Registerkarten zur Laufzeit möglich ist. Auf Geräten mit Touch-Screens können Sie die Registerkarten durch Wischen verschieben. Auf Geräten ohne Touch-Screens können Sie zwischen den Registerkarten mit den rechten und linken Schaltflächen sowie mit der Maus wechseln. Die rechten und linken Schaltflächen werden nur beim Entwurf angezeigt, auf Geräten ohne Touch-Screens auch zur Laufzeit.
Sie können die Höhe der Registereinträge ändern. Zum Ändern der Höhe muss die Eigenschaft AutoSize False
sein.
Entfernung der Größenbeschränkungen von TCalendar
In RAD Studio Seattle bestehen für die TCalendar-Komponente keine Größenbeschränkungen.
Sie können jetzt die Höhe (Height) und Breite (Width) von TCalendar ändern und sogar die Eigenschaft Align auf Client
setzen.
- Hinweis: Die Größenbeschränkungen für TCalendar wurden auch für native iOS-Kalenderkomponenten entfernt; Sie können die Größe der nativen Kalender für iOS 6 oder später ändern.
Native iOS-Listenansicht unterstützt benutzerdefinierte Erscheinungsbilder
Sie können in nativen iOS-Listenansichts-Steuerelementen benutzerdefinierte Erscheinungsbilder ändern.
Visuelle FireMonkey-Steuerelemente können Hinweise anzeigen, wenn der Mauszeiger darüber geführt wird
Visuelle FireMonkey-Steuerelemente unterstützen jetzt Hinweise auf Desktop-Plattformen. Um einen Hinweis festzulegen, geben Sie den Text im Objektinspektor in die Eigenschaft Hint des Steuerelements ein und setzen die Eigenschaft ShowHint auf True
. Weitere Informationen zur Verwendung von Hinweisen finden Sie unter Verwenden von Hinweisen zum Anzeigen von Kontexthilfe in einer FireMonkey-Anwendung.
- Hinweis: Hinweise werden unter Windows und macOS 10.10 oder neuer unterstützt.
Touch-Animation für Android
In Seattle wurden Touch-Animationen für die Android-Plattform aufgenommen. Dieser neue Animationstyp simuliert die Touch-Animation aus den Google-Anleitungen für Material Design.
Sie müssen die Animation nicht aktivieren oder deaktivieren, sie ist bereits standardmäßig aktiviert. Die Animation wurde für TListBox und für Schaltflächen, wie TButton, TCornerButton und TSpeedButton, hinzugefügt.
Weitere Einzelheiten finden Sie bei der Klasse TTouchAnimationAdapter und den Eigenschaften TActiveStyleObject.TouchAnimation und TButtonStyleObject.TouchAnimation.
Systembenachrichtigungen wurden in die RTL verschoben und werden von Windows unterstützt
Die Unit FMX.Notification
wurde durch System.Notification ersetzt.
Die Komponente TNotificationCenter unterstützt jetzt Windows 8 und neuere Windows-Versionen. An dieser Komponente wurden zudem einige kleinere Änderungen vorgenommen:
- Sie verfügt jetzt über die Eigenschaft Loaded zum Überprüfen, ob die Mitteilungszentrale verwendungsbereit ist oder nicht.
- Der Typ von ApplicationIconBadgeNumber wurde von Word in Integer geändert.
- Die Methode
Supported
ist nicht mehr nötig und wurde entfernt.
Die Klasse TBaseNotificationCenter hat das Interface IFMXNotificationCenter
ersetzt. Klassen für die Implementierung des Interface IFMXNotificationCenter
müssen Unterklassen von TBaseNotificationCenter sein und die virtuellen abstrakten Methoden ihrer übergeordneten Klasse implementieren.
FireMonkey-Stil-Designer
Plattformstile
Mit dem FireMonkey-Stil-Designer können Sie nun beim Entwurf für jede Plattform Ihres Projekts einen andern Stil festlegen. Nur ein TStyleBook kann jetzt eine Sammlung von Stilen unterstützen.
Anpassung von Steuerelementen
Mit RAD Studio können Sie nun Komponenten für unterschiedliche Plattformen beim Entwurf anpassen.
Weitere Informationen finden Sie unter Mobile-Tutorial: Verwenden von Schaltflächen-Komponenten mit unterschiedlichen Stilen (iOS und Android).
Neuer Bitmap-Verknüpfungseditor
Mit einem neuen Editor können Sie Grafiken für TBitmapLink-Eigenschaften für mit Stilen versehene Objekte direkt in der IDE bearbeiten.
TBitmapLink-Eigenschaften können jetzt auf einfache und visuelle Weise mit dem BitmapLinks-Editor bearbeitet werden.
Weitere Informationen finden Sie unter BitmapLinks-Editor und Tutorial: Verwenden des BitmapLinks-Editors.
Weitere Verbesserungen
- Neue Symbolleiste zum Laden, Speichern und Bereinigen von .style-Dateien.
- Verschiedene Hintergründe für die Stilbearbeitung. Sie können jetzt zwischen keinem und einem hellen/dunklen Hintergrund wählen. Anhand der Farbe können Sie feststellen, wie das angepasste Steuerelement auf dunklen oder hellen Farben angezeigt wird.
- Auswählen und Verwalten der verschiedenen Stil-Layoutobjekte und -Layoutkomponenten direkt im Stil-Designer.
- Hinzufügen neuer Steuerelemente zum Stil-Designer durch Doppelklicken auf das Steuerelement in der Tool-Palette.
Neue Funktion "GetFirstWeekday"
FireMonkey stellt im Interface IFMXLocaleService die neue Funktion GetFirstWeekday bereit.
GetFirstWeekday gibt den ersten Tag der Woche in einem vereinheitlichten plattformunabhängigen Format zurück.
- Hinweis: GetLocaleFirstDayOfWeek ist veraltet. Verwenden Sie stattdessen GetFirstWeekday.
Mit Stilen versehene Darstellungskonstruktoren erhalten das Datenmodell und das Steuerelement
In Seattle erhalten mit Stilen versehene Darstellungsklassen ihr Datenmodell und ihr dargestelltes Steuerelement im Konstruktor, wodurch das Erstellen von Darstellungsklassen erheblich vereinfacht wird.
Um Ihre Darstellungsklassen aus XE8 nach Seattle zu portieren, müssen Sie Code für die verzögerte Initialisierung des Datenmodells und des dargestellten Steuerelements entfernen und diesen Code in den Konstruktor verschieben.
Umgestaltung des Listenansichts-Steuerelements
Viele Member, die früher in TCustomListView
enthalten waren, befinden sich jetzt in einer anderen Klasse oder sogar in einer anderen Unit. In eine andere Klasse verschobene Member sind weiterhin aufgrund der Vererbung Teil von TCustomListView
.
Eine detaillierte Änderungsliste finden Sie unter Refactoring des Listenansichts-Steuerelements in Seattle.
TStyledPresentationProxy ersetzt alle mit Stilen versehenen Proxy-Klassen
Mit Stilen versehene Darstellungsklassen müssen keine Proxy-Klasse mehr definieren. Mit der neuen Klasse TStyledPresentationProxy kann ein Proxy-Objekt für alle Stildarstellungsklassen erstellt werden. Alle vorhandenen Stildarstellungs-Proxy-Klassen wurden entfernt:
XE8 | Seattle |
---|---|
|
Umgestaltung von TCalendar
TCalendar-Änderungen:
- TCustomCalendar wurde als Basisklasse für Steuerelemente, die einen Monatskalender anzeigen, eingeführt.
TCalendar
ist jetzt vonTCustomCalendar
abgeleitet. Beide Klassen befinden sich in der Unit FMX.Calendar.
- Die neue Eigenschaft TouchTargetExpansion wurde hinzugefügt.
TStyledCalendar-Änderungen:
- Die Methode TryFindDayItem wurde hinzugefügt, um den Zugriff auf das Listenfeldelement bereitzustellen, das einen TCalendar-Tag darstellt.
- Die Methode
TStyledCalendar.FillList
aus XE8 wurde jetzt in die folgenden Prozeduren unterteilt:
Weitere FireMonkey-Änderungen
- Sie müssen den Typ von TListView.Selected jetzt in Appearances.TListViewItem umwandeln, um es als solches zu verwenden.
- Einige Konstanten, die Dateierweiterungen repräsentieren, wurden geändert, um Rechtschreibfehler zu korrigieren. Beispielsweise wurde
SBMPImageExtention
inSBMPImageExtension
geändert. Diese Konstanten befinden sich in der DateiFMX.Consts.pas
. - Das protected Feld
FDisableDayChange
von TStyledCalendar wurde durch die published Eigenschaft DisableDayChange ersetzt.TStyledCalendar
veröffentlicht jetzt auch seine Stilobjekte: Years, Month, Weeks, Week, Days, Today, Prev, Next. - Die Eigenschaft TouchTargetExpansion von TDateEdit und TTimeEdit ist jetzt published.
- Für den Konstruktor von TTintedStages muss das Eigentümer-Stilobjekt als Parameter angegeben werden.
- Neue Darstellung und neues Verhalten von TSwitch für Windows 10. Beispielsweise ändert sich die Hintergrundfarbe bei Mausberührung, wenn der Umschalter eingeschaltet ist.
- Der Standardmodus von TMultiView ist in Windows 10
NavigationPane
. Weitere Einzelheiten finden Sie unter Navigationsbereichsmodus. - Neuer Stil-Viewer für den Windows 10-Stil im Bitmap-Stil-Designer.
- Erweiterte Zwischenablagenunterstützung für das Kopieren und Einfügen von Bitmaps. Beispiele finden Sie unter:
-
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Multi-Device Samples\User Interface\CopyPaste
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\CPP\Multi-Device Samples\User Interface\CopyPaste
- Mit der neuen Klasse TBeaconDevice können Sie simulieren, dass ein Gerät mit BluetoothLE ein Beacon ist. Siehe das Beispiel "BeaconDevice".
- TListBoxSelector stellt eine Alternative für die Methode MouseSelectFinish bereit, die das Listenfeld ausführt, bevor das Ereignis OnItemClick der Kombinationsfeld-Komponente ausgelöst wird: MouseSelectFinishing.
- Steuerelemente verfügen über die folgenden protected Methoden: EnabledChanged, PaddingChanged und VisibleChanged. Wenn der Wert von Enabled, Padding oder Visible in einem Steuerelement geändert wird, führt dieses Steuerelement die entsprechende Methode aus.
VCL
Neue VCL-Steuerelemente für Windows 10
Die folgenden Steuerelemente wurden der VCL hinzugefügt:
- TRelativePanel: RelativePanel ist ein neuer Layout-Bereich, mit dem Sie untergeordnete Objekte in Relation zueinander und zu ihrem übergeordneten Bereich positionieren und ausrichten können. Beispielsweise können Sie angeben, dass Text immer links in dem Bereich und eine Schaltfläche immer unter dem Text positioniert wird. Verwenden Sie RelativePanel als Alternative zu TGridPanel beim Erstellen von Benutzeroberflächen, die kein klares lineares Muster haben.
- TSplitView: Mit dem neuen SplitView-Steuerelement können Sie transienten Inhalt einfach anzeigen und ausblenden. Beispielsweise können Sie es als Navigationsmenü der obersten Ebene verwenden, wobei der Navigationsinhalt verborgen ist und bei Bedarf eingeblendet wird (auch als Hamburger-Menü bezeichnet).
- TToggleSwitch: Der Umschalter simuliert einen physischen Schalter, mit dem Benutzer etwas ein- oder ausschalten können. Das Steuerelement hat zwei Zustände: ein und aus. Sie können die Beschriftungen des Umschalters ändern oder entfernen.
- TActivityIndicator: Ein Ringindikator für den Status "unbestimmt" (
indeterminate
). Für diesen Indikator können Sie unter mehreren Typen auswählen und viele visuelle Eigenschaften, wie Größe, Geschwindigkeit der Animation, Farbe des Indikators, ändern. - TSearchBox: Ein Eingabefeld mit Suchfunktionalität, ähnlich dem FireMonkey-TSearchBox-Feld.
Diese Steuerelemente sind speziell für Windows 10 zugeschnitten, unterstützen aber alle Windows-Versionen.
Beispielanwendungen für die neuen VCL-Steuerelemente für Windows 10 zeigen die Verwendung und Funktionen dieser Steuerelemente:
- ActivityIndicator (Beispiel)
- RelativePanel (Beispiel)
- SearchBox (Beispiel)
- SplitView (Beispiel)
- ToggleSwitch (Beispiel)
Neue TSharingContract-Komponente
Die TSharingContract-Komponente unterstützt Verträge, den Systemmechanismus für das Teilen von Informationen mit anderen Windows 10-Anwendungen. Anwendungen können sich mit der neuen SharingContract-Komponente wie Vertragsquellen verhalten.
Weitere Informationen über App-Verträge und die Teilen-Funktionalität finden Sie unter Windows Dev Center - App contracts and extensions (EN).
Neue VCL-Stile
- In Seattle sind neue VCL-Stile für Windows 10 enthalten: Windows10, Windows10 Blue und Windows10 Dark.
- Neuer OnyxBlue-Stil.
Über Projekt > Optionen > Anwendung > Erscheinungsbild können Sie auf die VCL-Stile zugreifen.
Verbesserungen von VCL-Stilen
- Unterstützung für Stile für allgemeine Dialogfelder. Weitere Informationen finden Sie unter SystemHooks.
- TWebBrowser-Komponente unterstützt nun Stile.
Weitere Informationen über VCL-Stile finden Sie unter Arbeiten mit VCL-Stilen.
Modernisiertes Dialogfeld "Verzeichnis auswählen"
SelectDirectory wurde geändert, damit es ein modernisiertes Dialogfeld "Verzeichnis auswählen" anzeigt. Verwenden Sie die dritte Signatur der Funktion SelectDirectory, und definieren Sie Ihren Optionssatz als TSelectDirFileDlgOpts.
RTL
Registrieren Ihrer Anwendung für die Behandlung von Android-Intents
In XE8 konnten Intents nur über lokale oder Push-Benachrichtigungen empfangen werden. In Seattle ermöglicht die integrierte RAD Studio-Java-Bibliothek Androidapi.JNI.Embarcadero
die Registrierung Ihrer Anwendung für die Behandlung von Intent-Aktionen.
Die Beispielanwendung "Android Intents" zeigt, wie einfache Daten von einer anderen Anwendung mit Android-Intents behandelt werden.
- Hinweis: Für die Behandlung von Android-Intents müssen Sie dem Abschnitt
<intent-filter>
der Datei AndroidManifest.xml das entsprechende<action>
-Tag hinzufügen.
JSON-Verbesserungen
Der Gültigkeitsbereich von System.JSON wurde um viele neue Units erweitert, die Unterstützung für Folgendes bereitstellen:
- BSON, eine binäre Alternative zum JSON-Format.
- JSON-Reader und -Writer, um JSON-Daten ad hoc zu generieren und zu analysieren, ohne zuerst eine vollständige JSON-Hierarchie im Arbeitsspeicher erstellen zu müssen.
- MongoDB extended JSON (EN), eine Erweiterung des JSON-Formats für die Unterstützung weiterer Datentypen. Sie können diese JSON-Erweiterung in JSON-Readern und -Writern über deren Eigenschaft
ExtendedJsonMode
aktivieren.
Außerdem ermöglichen TJSONObject.ParseJSONValue und TJSONObject.Parse das Erstellen eines TJSONBool-Wertes aus den analysierten Daten.
Ausführen asynchroner Remote-Aktionen
Mit der neuen Methode RunRemoteActionAsync können Sie Remote-Aktionen asynchron ausführen. Bei der Verwendung asynchroner Aktionen wird die Funktion, die diese Methode aufruft, während der Ausführung der Remote-Aktion nicht blockiert.
Weitere Informationen dazu finden Sie unter Ausführen von Remote-Aktionen.
GATT-Serverunterstützung für Android 5
In Seattle können Sie einen Bluetooth Low Energy-Server für Android 5 erstellen.
Unterstützung für internationalisierte Domänennamen
Das HTTP-Framework unterstützt jetzt internationalisierte Domainnamen (EN) (IDN). Zwei neue public Methoden sind verfügbar: TURI.UnicodeToIDNA und TURI.IDNAToUnicode.
Unterstützung für SHA-2 Hashing
Die Unit System.Hash enthält einen neuen Member, THashSHA2, der die Hash-Funktionsfamilie SHA-2 implementiert.
Verbesserungen bei Bluetooth
- Mit der neuen Eigenschaft ScannedAdvertiseData von TBluetoothLEDevice können Sie auf die Daten zugreifen, die ein Remote-Gerät als Instanz von TBluetoothLEAdvertiseData bekanntgibt, sodass Sie nützliche Informationen, wie herstellerspezifische Informationen, auf einfache Weise lesen können.
- Mit TBluetoothGattServer.AddService können Sie angeben, ob der hinzugefügte Dienst bekanntgegeben werden soll (Vorgabe) oder nicht.
- TBluetoothLEManager.StartDiscovery unterstützt einen neuen Parameter,
ForceConnect
, zum Herstellen von Verbindungen mit allen ermittelten Remote-Geräten, um eine vollständige Liste der Dienste, die jedes Remote-Gerät bereitstellt, zu erhalten. Dies ermöglicht das Filtern von Remote-Geräten auf Basis der von ihnen bereitgestellten Dienste, unabhängig davon, ob sie sie bekanntgeben oder nicht. - Neue Hilfsklasse TBluetoothUUIDHelper für die Arbeit mit unterschiedlichen Formaten von Bluetooth-UUIDs.
Refactoring der App-Tethering-Kommunikation
Die Basisklasse für App-Tethering-Profile, TTetheringProfile, implementiert jetzt die Logik für die Analyse von App-Tethering-Befehlen (die früher in der Basisklasse für App-Tethering-Protokolle implementiert war) sowie die Logik für die Behandlung von Remote-Profilen und Verbindungen, die früher in der untergeordneten Klasse TTetheringAppProfile implementiert war.
Eine detaillierte Änderungsliste finden Sie unter Refactoring der App-Tethering-Kommunikation in Seattle.
Weitere RTL-Änderungen
- THashSHA2.GetHMACAsBytes, THashSHA1.GetHMACAsBytes und THashMD5.GetHMACAsBytes akzeptieren jetzt die Parameter
Data
undKey
als String oder als Bytes. - GetSharedDocumentsPath gibt jetzt auf der Android-Plattform einen anderen Pfad zurück. Der neue Pfad zeigt auf ein systemweites Verzeichnis im externen Speicher.
- TThreadPool enthält eine neue Klasseneigenschaft, Current, die den Thread-Pool der aktuellen Aufgabe bereitstellt.
- Die Klasse TZipFile hat nun ein Callback für die Abfrage des aktuellen Fortschritts des Vorgangs. Weitere Informationen finden Sie unter TZipFile.ExtractZipFile und TZipFile.OnProgress.
IDE
Verbesserungen des Arbeitsspeichers
In Seattle enthält die RAD Studio-IDE einige bemerkenswerte Verbesserungen hinsichtlich des Speicherbedarfs und der Speicherverwaltung:
- Die IDE kann jetzt bis zu 4 GiB verwenden und ist nicht mehr auf 2 GiB beschränkt.
- Hinweis: IDE-Erweiterungen müssen große Speicheradressen unterstützen.
- Die IDE-Speicherverwaltung von geöffneten Projekten wurde verbessert. Die IDE kann nun eine größere Anzahl von geöffneten Projekten verwalten.
Neues Android-Dienstprojekt
RAD Studio stellt einen neuen Delphi-Projekttyp zum Erstellen von Android-Diensten bereit.
Der neue Projekttyp deckt die verschiedenen Diensttypen ab: lokal und remote, und er enthält die Unterstützung für asynchrone Aufgaben mit Intents.
Das Android-Dienstprojekt besteht aus einem Datenmodul zum Erstellen der Methoden und Ereignisse für den Dienst. Beim Erzeugen des Projekts werden die Binärdateien, die die Hauptanwendung benötigt, gemäß dem ausgewählten Diensttyp erstellt, wie z. B. die Java-Archivdatei (*.JAR).
So erstellen Sie einen Android-Dienst:
- Die IDE stellt einen neuen Experten zum Erstellen des Android-Dienstprojekts bereit.
- Die IDE stellt einen neuen Experten zum Hinzufügen von Android-Diensten zu einer geräteübergreifenden Anwendung bereit.
Weitere Informationen finden Sie unter Android-Dienst und Erstellen von Android-Diensten.
Verbesserte Unterstützung für mehrere Bildschirmkonfigurationen
Seattle verbessert die Benutzererfahrung bei Konfigurationen mit mehreren Bildschirmen.
Integration der Castalia-Funktionen in der IDE
Einige Castalia-Funktionen wurden in RAD Studio Seattle in die IDE integriert:
- Zwischenablageverlauf: Zeigt die gespeicherten Elemente beim Kopieren von Text an. Sie öffnen das Fenster "Zwischenablageverlauf" über Ansicht > Zwischenablageverlauf.
- Mehrfach einfügen: Ermöglicht die Bearbeitung von Text vor dem Einfügen. Sie können auf das Fenster "Mehrfach einfügen" über Bearbeiten > Mehrfach einfügen zugreifen.
- Projektstatistik: Zeigt die Zeit an, die in verschiedenen Bereichen Ihres Projekts verbracht wurde. Sie öffnen das Fenster "Projektstatistik" über Ansicht > Projektstatistik.
- Navigationssymbolleiste: Wird im Quelltext-Editor angezeigt, um die Navigation in Ihrem Code zu vereinfachen. Die Navigationssymbolleiste enthält die Projektsymbolsuche.
- Synchronisierung von Prototypen: Funktion zum Synchronisieren der interface- und implementation-Versionen Ihrer Methodenprototypen.
- Strukturhervorhebung: Hebt die Codestruktur mit Linien sowie die Verwendung von Prozeduren hervor, die den linearen Ausführungsablauf in Ihrem Code unterbrechen. Auf der Optionsseite für die Strukturhervorhebung finden Sie weitere Optionen für diese Funktion.
- Intelligente Tasten: Stellt Tastenkürzel bereit, um den Cursor an den Anfang der Zeile oder des Textes zu setzen; sowie eine schnelle Möglichkeit, Ihren Code in "()", "[]" oder "{}" einzuschließen. Diese Funktionen können auf der Optionsseite "Tastaturbelegung" aktiviert oder deaktiviert werden.
Auto-Wiederherstellen
Die Funktion Auto-Wiederherstellen ermöglicht Ihre Dateien wiederherzustellen, wenn die IDE unerwartet geschlossen wird.
Auf der Optionsseite "Auto-Wiederherstellen" finden Sie weitere Einstellungen für diese Funktion.
Ändern der Schriftgröße im Quelltext-Editor
Sie können die Größe der Schrift im Quelltext-Editor mit dem Kontextmenü des Quelltext-Editors oder mit Tastenkombinationen vergrößern oder verkleinern:
- Verwenden Sie die Optionen Schrift vergrößern und Schrift verkleinern im Kontextmenü des Quelltext-Editors, um die Schrift zu vergrößern bzw. zu verkleinern.
- Verwenden Sie die Tastenkombinationen Strg+Num+ und Strg+Num-, um die Größe der Schrift zu vergrößern bzw. zu verkleinern. Unter Tastenzuordnungen - Index finden Sie weitere Tastenkombinationen.
Aktualisierung der Subversion-Bibliotheken in der IDE
Seattle Seattle enthält die Subversion-Bibliotheken der Version 1.8.13.
Weitere Einzelheiten über in der IDE integrierte Versionskontrollsysteme finden Sie unter Subversion-Integration in der IDE und Versionskontrollsysteme in der IDE.
Verbesserungen des GetIt-Package-Managers
Die folgenden Verbesserungen wurden in Seattle zum GetIt-Package-Manager hinzugefügt:
- Neue verbesserte Benutzeroberfläche für das Fenster "GetIt-Package-Manager".
- Möglichkeit, Packages nach Kategorie zu filtern.
- RAD Studio Seattle Subscription Update 1 enthält die neue Optionsseite Tools > Optionen > GetIt, auf der Sie den GetIt-Package-Manager so konfigurieren können, dass beim Start nach Package-Updates gesucht wird.
Umbenannte Beschriftungen auf der Bereitstellungsseite "macOS - Anwendungs-Store"
Die Bereitstellungsoptionen für die Codesignierung einer macOS-Anwendung für den Anwendungs-Store wurde in Mac-Entwicklerzertifikat für Fremdhersteller und Mac-Installationszertifikat für Fremdhersteller umbenannt, damit sie mit den Namen, die Apple für diese Zertifikate verwendet, übereinstimmen.
Weitere Informationen über die Codesignierung von Anwendungen finden Sie unter Bereitstellung.
Neue Option für den Zugriff von iOS 9-Anwendungen auf Nicht-SSL-URLs
- Hinweis: Dies betrifft nur RAD Studio Seattle Subscription Update 1.
Neue Option in Projekt > Optionen > Berechtigungsliste zur Aktivierung von HTTP-Protokollanforderungen unter iOS 9.0. Diese Option ist standardmäßig aktiviert.
Neue Option zum Hinzufügen der Unterstützung für die Ausführung im Hintergrund unter iOS
In der IDE können Sie jetzt die Datei Info.plist
zur Unterstützung des Ausführungsmodus im Hintergrund für iOS-Anwendungen hinzufügen.
In Projekt > Optionen > Versionsinformationen können Sie dem Array-Schlüssel UIBackgroundModes
die Stringwerte für die Dienste hinzufügen, die weiterhin im Hintergrund ausgeführt werden müssen.
Neue Option zur Aktivierung der High-DPI-Unterstützung in Ihren VCL-Anwendungen
In der IDE können Sie jetzt die High-DPI-Unterstützung für Ihre VCL-Anwendungen aktivieren.
Sie können in Projekt > Optionen > Anwendung die Option Hochauflösung aktivieren für Ihr Projekt auswählen.
Verbesserungen des Objektinspektors
- In einem neuen Filterfeld werden Eigenschaften oder Ereignisse angezeigt, die mit dem angegebenen Muster übereinstimmen. Die neue Option befindet sich unter der Instanzliste des Objektinspektors.
- Größere Feinabstimmung im Objektinspektor. Mit der neuen Option Anzeigen im Kontextmenü können Sie verschiedene Teile des Objektinspektors ein- oder ausblenden.
- Instanzliste
- Filterfeld
- Schnellzugriffsbereich
- Beschreibungsbereich (standardmäßig ausgeblendet)
- Statuszeile
Auf die neuen Optionen kann auch über Tools > Optionen | Umgebungsoptionen > Objektinspektor zugegriffen werden.
Weitere Informationen finden Sie unter Optionen im Objektinspektor.
Neue Symbole für die Strukturansicht
Die Symbole in der Strukturansicht stimmen jetzt mit den Symbolen in der Tool-Palette überein. Anhand der Miniaturansichten können Sie auf einfache Weise die Anwendungskomponenten in der Strukturansicht finden.
Neuer Standardwert für den Parameter InstallLocation im Android-Manifest
Der neue Standardwert für den Parameter InstallLocation in der Android-Anwendungsmanifestdatei ist auto
. Weitere Informationen finden Sie unter Android-Versionsinformationen. Durch Ändern dieses Wertes in älteren Projekten können einige spezifische Debugging-Probleme behoben werden.
Neue Option zum Ausblenden nicht-visueller Komponenten beim Entwurf
In der IDE können Sie jetzt nicht-visuelle Komponenten beim Entwurf ein- oder ausblenden.
Neues Aussehen und Verhalten des Dialogfeldes "Verzeichnis auswählen"
In der IDE wird jetzt ein modernisiertes Dialogfeld "Verzeichnis auswählen" für das Suchen von Ordnern angezeigt. In das Dialogfeld "Verzeichnis auswählen" können Sie einen Ordnerpfad eingeben oder einfügen.
Dieses Dialogfeld wird beispielsweise im Datei-Finder (Strg-Umschalt-F
) angezeigt.
Verbesserungen der Tools-API
- Editor-Interface zum Zeichnen: Neue Tools-API-Interfaces zum Zeichnen wurden zur Erweiterung des Quelltext-Editors hinzugefügt, um das benutzerdefinierte Zeichnen zu verbessern.
Siehe Erweitern der IDE mit der Tools-API.
Verbesserte Unterstützung für ältere Projekte
Seattle unterstützt den Import von Projekten aus Delphi 1 bis XE8 und C++Builder 3 bis XE8.
Änderungen für Datenbanken
DataSnap
Komprimierte Übertragung von FireDAC-Datenmengen
In Seattle erfolgt die Übertragung von FireDAC-Datenmengen zwischen einem DataSnap-Server und einem DataSnap-Client komprimiert. Als Ergebnis belegen Server und Client ungefähr ein Drittel des Speichers als bei XE8.
Bestimmte DataSnap-Clientanwendungen benötigen OpenSSL nicht mehr
Bestimmte DataSnap-Clientanwendungen benötigen OpenSSL nicht mehr für die Unterstützung von HTTPS:
- Ein DataSnap-Client mit TDSRestConnection benötigt OpenSSL nicht.
- Ein DataSnap-Client mit TSQLConnection benötigt OpenSSL eventuell nicht.
- Hinweis: Für DataSnap-Clientanwendungen, die Filter verwenden, ist die Installation von OpenSSL-Bibliotheken erforderlich.
Neue DataSnap-Demobeispiele
RAD Studio enthält zwei neue Beispiele für die Verwendung von FDSchemaAdapter in DataSnap-Anwendungen:
- Das FireDAC-Beispiel in
Object Pascal\DataSnap\FireDAC
. - Das FireDAC DBX-Beispiel in
Object Pascal\DataSnap\FireDAC_DBX
.
FireDAC
Optimierung von FireDAC-ETL-Komponenten
TFDBatchMoveSQLWriter unterstützt alle möglichen Modi der TFDBatchMove-Datenbewegung.
- Hinweis: Der Modus
dmAppendUpdate
wird nur unterstützt, wenn die Datenbank MERGE, INSERT OR REPLACE oder ähnliche DML-Anweisungen unterstützt.
Unterstützung für die NoSQL MongoDB-Datenbank
In Seattle enthält FireDAC die vollständige Unterstützung für die NoSQL MongoDB-Datenbank.
Entwickeln Sie mit dem neuen FireDAC-Verbindungstreiber, den API-Klassen und den neuen Komponenten Anwendungen, die eine Verbindung mit der MongoDB-Datenbank herstellen.
Einzelheiten finden Sie unter Herstellen einer Verbindung zu einer MongoDB-Datenbank mit FireDAC.
Einrichten einer Verbindung zu einer MongoDB-Datenbank
Verwenden Sie den neuen MongoDB-Treiber von FireDAC, um eine Verbindung zu der MongoDB-Datenbank einzurichten.
- Verwenden Sie in der TFDConnection-Komponente die neue Treiber-ID Mongo als DriverName.
- Neue TFDPhysMongoDriverLink-Komponente und die FireDAC.Phys.MongoDB-Unit.
MongoDB-Wrapper-Klassen
FireDAC enthält nun Wrapper-Klassen zum Kapseln von MongoDB-Datenbankanweisungen, -methoden und -strukturen:
- TMongoConnection: Klasse zum Verwalten von Verbindungen zu einem MongoDB-Server, zum Zugreifen auf Datenbanken und Objektsammlungen.
- TMongoDatabase: Klasse zum Verwalten einer MongoDB-Datenbank, Sammlungen und Benutzer in der MongoDB-Datenbank.
- TMongoCollection: Klasse, die eine MongoDB-Sammlung repräsentiert.
- TMongoCursor: Klasse, die ein Ergebnismengendokument aus einem MongoDB-Cursor abruft.
MongoDB-Anweisungs- und -Methodengeneratoren
FireDAC unterstützt jetzt Anweisungen für MongoDB-Abfragen, -Pipelines und -Aktualisierungen mit dem Stilbefehl fluent und Methodengeneratoren.
- TMongoUpdate: repräsentiert den Generator MongoDB Update (EN).
- TMongoSelector: repräsentiert den Generator MongoDB Selector (EN).
- TMongoInsert: repräsentiert den Generator MongoDB Insert (EN).
- TMongoIndex: repräsentiert den Definitionsgenerator MongoDB Index (EN).
Neue MongoDB-Datenmengen
FireDAC-spezifische MongoDB-Datenmengen rufen die Daten aus einer MongoDB-Datenbank ab und verwalten sie.
- Mit der Komponente TFDMongoDataSet verknüpfen Sie die Datenmenge mit dem MongoDB-Cursor.
- Mit der Komponente TFDMongoQuery führen Sie Abfragen der MongoDB-Sammlungen aus.
- Mit der Komponente TFDMongoPipeline führen Sie Pipelines der MongoDB-Sammlung aus.
Erweiterungen des ODBC-Treibers
Der ODBC-Treiber für FireDAC wurde verbessert:
- Wenn Sie den ODBC-Treiber und eine Pervasive 10-Datenbank (EN) verwenden, ist der Parameter NumericFormat standardmäßig
String
.
Weitere FireDAC-Änderungen
- Die Eigenschaft AutoCommitUpdates wurde aus TFDDataSet nach TFDUpdateOptions verschoben.
- Die Eigenschaft AutoCommitUpdates wurde aus TFDSchemaAdapter nach TFDUpdateOptions verschoben.
- TFDSchemaAdapter enthält nun die Eigenschaft UpdateOptions.
- Wenn AutoCommitUpdates True ist, dann entfernt ApplyUpdates alle Änderungen, die für alle Datensätze im Änderungsprotokoll der Datenmenge erfolgreich übernommen wurden.
- TFDTable.FetchOptions.LiveWindowParanoic ist jetzt standardmäßig
True
. - Wenn Ihre SQL-Anweisung nicht parametrisiert ist, können Sie jetzt den Parameter
AParams
in Aufrufen von TFDConnection.ExecSQL weglassen, anstatt einen nil-Parameter zu übergeben. - Verwenden Sie den neuen Parameter im nativen Informix-Treiber, TxSupported, um anzugeben, ob die Informix-Datenbank SQL-Transaktionen unterstützt oder nicht. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Informix (FireDAC).
REST-Clientbibliothek und BaaS
- TRESTRequestParameterList.AddItem akzeptiert Werte als Byte-Arrays oder Streams.
- TCustomRESTRequest hat eine neue schreibgeschützte Eigenschaft, Body, mit der Sie den Text, den Sie zuvor mit AddBody definiert haben, lesen können.
- Die REST-Clientbibliothek und BaaS unterstützen jetzt JSON-Reader und -Writer.
- Der Typ TParseDate unterstützt das Parse-Date-Objekt im korrekten Format.
{
"__type": "Date",
"iso": "2015-08-25T18:32:12.265Z"
}
Cloud
Für die Cloud-API ist OpenSSL nicht mehr erforderlich
AmazonAPI und AzureAPI benötigen OpenSSL nicht mehr für die Unterstützung von HTTPS.
Einige Member von CloudAPI sind veraltet
- Encode64 ist veraltet, verwenden Sie TNetEncoding.Encode (für die Eigenschaft base64).
- EncodeBytes64 ist veraltet, verwenden Sie TNetEncoding.EncodeBytesToString (für die Eigenschaft base64).
- Decode64 ist veraltet, verwenden Sie TNetEncoding.Decode (für die Eigenschaft base64).
- DecodeBytes64 ist veraltet, verwenden Sie TNetEncoding.DecodeStringToBytes (für die Eigenschaft base64).
- XMLEscape ist veraltet, verwenden Sie TNetEncoding.Encode (für die Eigenschaft HTML).
Amazon
- AmazonAPI unterstützt jetzt die neuesten API-Versionen:
- Amazon Simple Storage Service (S3):
API Version 2006-03-01
- Amazon Simple DB:
API Version 2009-04-15
- Amazon Simple Queue Service (SQS):
API Version 2012-11-05
- Amazon Simple Storage Service (S3):
- AmazonAPI unterstützt jetzt AWS Signature Version 4:
- Diese Änderung ist für den Benutzer transparent.
- Die API verwendet AWS Signature Version 4 (EN), wo immer möglich, behält aber die Abwärtskompatibilität bei.
Azure
- AzureAPI unterstützt jetzt die neuesten API-Versionen:
- Microsoft Azure Blob Service:
API Version 2014-02-14
- Microsoft Azure Table Service:
API Version 2014-02-14
- Microsoft Azure Queue Service:
API Version 2014-02-14
- Microsoft Azure Blob Service:
- Bei der Methode zum Leasen eines Blobs kann jetzt ein
LeaseDuration
-Parameter angegeben werden. Weitere Informationen über den neuen ParameterLeaseDuration
finden Sie unter Microsoft Azure - Lease Blob (EN).
Änderungen des Debuggers für Seattle
Remotes Debugging auf iOS-64-Bit-Geräten
In Seattle wird jetzt das Debugging von iOS64-Anwendungen unterstützt. In der IDE ist nun F9 für die Zielplattform iOS-Gerät - 64 Bit aktiviert.
Weitere Informationen zur Unterstützung von Remote-Debugging für 64-Bit-iOS-Anwendungen finden Sie unter Debuggen von Apps, die auf dem 64-Bit-iOS-Gerät ausgeführt werden.
Verbesserte macOS-Exception-Behandlung
Die macOS-Exception-Behandlung wurde in Seattle verbessert.
Änderungen des Test-Frameworks für Seattle
In RAD Studio Seattle wurde die Unterstützung für DUnitX-Unit-Tests für mobile Plattformen (iOS und Android) erweitert. Dieses Test-Framework ermöglicht jetzt die Entwicklung und Ausführung von Tests für iOS-Geräte, Android und iOS-Simulator.
Weitere Informationen finden Sie unter Überblick über DUnitX.
Integrierte Frameworks und SDKs
- Microsoft Windows 10 SDK wird jetzt mit RAD Studio Seattle installiert. RAD Studio Seattle unterstützt zudem die folgenden SDKs:
- Microsoft Windows 8.x SDK
- Microsoft Windows 7 SDK
- RAD Studio Seattle unterstützt jetzt die Windows RT API (EN) (Windows Runtime API) und die Windows API (EN).
Hilfe
Beispielanwendungen enthalten bessere Readme-Dateien
Die Projektunterordner im Ordner mit den Beispielanwendungen enthalten nun aus dem Inhalt der Dokumentation der Beispielanwendungen generierte HTML-Readme-Dateien. Diese Readme-Dateien beinhalten detaillierte Informationen zu jeder Beispielanwendung, einschließlich einer Beschreibung, Schritten zum Ausführen der Beispielanwendung und Links zu verwandten Hilfequellen.
In der Bibliotheksdokumentation werden Unit-Packages angezeigt
Auf den Unit-Seiten in der Bibliotheksdokumentation werden jetzt die in einem Package enthaltenen Units angezeigt. Wenn Sie wissen möchten, in welchem Package eine bestimmte Unit enthalten ist, öffnen Sie die API-Referenzseite für diese Unit, wie z. B. System.SysUtils oder FMX.Controls.
Für einige der am häufigsten gesuchten Begriffe in der Themen-Online-Dokumentation stehen nun Seiten mit Begriffserklärungen und Umleitungen zur Verfügung, die die Suche nach der gewünschten Dokumentation erleichtern. Suchen Sie beispielsweise nach datasnap, android, paserver oder listview.
Hinweise zu macOS 10.11 und iOS 9
PAServer-Hotfix für RAD Studio Seattle
Dieser Hotfix stellt Korrekturen für die Erzeugung der folgenden Anwendungen bereit:
- macOS 10.11 (El Capitan)
- iOS-Anwendungen unter iOS 7, iOS 8 und iOS 9 mit dem iOS 9 SDK
Sie können den Hotfix hier herunterladen: http://cc.embarcadero.com/item/30398