Neuerungen in XE8
Nach oben zu Neuerungen in den letzten Releases
Die Releases XE8, XE8 Subscription Update 1 und XE8 General Update 1 enthalten die folgenden neuen und verbesserten Features.
Inhaltsverzeichnis
- 1 Neuerungen in XE8 Update 1
- 2 FireMonkey-Änderungen für XE8
- 2.1 Native Darstellung von TListView, TSwitch, TMemo, TCalendar, TMultiView und TEdit auf iOS
- 2.2 Verbesserte Interoperabilität zwischen Plattform- und mit Stilen versehenen Steuerelementen
- 2.3 Desktop-Webbrowser
- 2.4 Interaktive Landkarten
- 2.5 Neue Optionen für die Medienbibliothek
- 2.6 Standardaktionen für TMediaPlayer
- 2.7 Formularvorschau
- 2.8 InputQuery unterstützt jetzt die Maskierung von Eingabefeldern
- 2.9 AppAnalytics in FireMonkey
- 2.10 Anpassen lokaler Mitteilungen
- 2.11 Die zur Laufzeit verwendete Android-Ansicht hängt von den Abmessungen des Zielgeräts ab
- 2.12 Speichern von Bildern in der Fotobibliothek des Geräts
- 2.13 TImageList führt Bilderlisten als zentralisierte Bildersammlungen ein
- 2.14 Neue und geänderte FireMonkey-API
- 3 Änderungen der Laufzeitbibliothek (RTL) für XE8
- 4 Änderungen der VCL für XE8
- 5 Delphi-Änderungen für XE8
- 6 Änderungen von C++ für XE8
- 6.1 BCCIOSARM64.EXE: Neuer durch Clang erweiterter Compiler für 64-Bit-iOS-Geräte
- 6.2 Beim Einbeziehen von Laufzeit-Packages sind jetzt voll qualifizierte Namen erforderlich
- 6.3 DynamicArrays: Erstellung und Initialisierung sind jetzt benutzerfreundlicher
- 6.4 SetApplicationMainFormOnTaskBar wurde aus Vcl.Forms.hpp entfernt
- 6.5 Boost ist jetzt außerhalb des Installationsprogramms verfügbar
- 6.6 Neue Möglichkeiten zur Behandlung von anonymen Delphi-Methoden
- 6.7 C++-Zuweisungsoperator mit gleicher Funktion wie der implizite Delphi-Operator
- 7 Änderungen der IDE für XE8
- 7.1 Neue Zielplattform: iOS-Gerät - 64 Bit
- 7.2 Geräteübergreifende Vorschau
- 7.3 Gerätemanager
- 7.4 Ausführen Ihrer Apps auf beliebigen iOS-Simulatoren
- 7.5 "Weitere Dateien hinzufügen" wird bei Bedarf automatisch geöffnet
- 7.6 Deaktivieren von in RAD Studio integrierten Java-Bibliotheken für Android in der Projektverwaltung
- 7.7 Mercurial-Versionskontrollsystem in die IDE integriert
- 7.8 Tool zum Migrieren von Einstellungen
- 7.9 Neue Optionen zur Codesignierung von iOS-Anwendungen
- 7.10 Neue Option zum Erzeugen von iOS-Binärdateien, die 32-Bit- und 64-Bit-iOS unterstützen
- 7.11 Berechtigung "Push-Benachrichtigungen empfangen" ist für iOS-Anwendungen nicht mehr erforderlich
- 7.12 Castalia-Integration
- 7.13 Customer-Experience-Programm
- 7.14 Visuelle Änderungen und Anpassung
- 8 Änderungen von Datenbanken und Konnektivität für XE8
- 9 Änderungen des Bitmap-Stil-Designers für XE8
- 10 Änderungen der Software von Fremdherstellern für XE8
- 11 Änderungen des Debuggers für XE8
- 12 Änderungen des Test-Frameworks für XE8
- 13 Änderungen der Grafik-Hilfsprogramme für XE8
- 14 Änderungen der Befehlszeilenhilfsprogramme für XE8
- 15 Änderungen der Anwendungsbeispiele für XE8
- 16 Änderungen der Hilfe
- 17 Themen
Neuerungen in XE8 Update 1
In der folgenden Liste finden Sie die verschiedenen Features, die in XE8 Subscription Update 1 und XE8 General Update 1 enthalten sind.
- Subscription Update 1 ist für Kunden mit einem aktiven Update-Abonnement vorgesehen.
- General Update 1 ist für XE8-Kunden ohne ein aktives Update-Abonnement vorgesehen.
Siehe Informationen über Update-Abonnements (EN).
Neuerungen in XE8 Subscription Update 1
Subscription Update 1 ist für Kunden mit einem aktiven Update-Abonnement vorgesehen.
- Neue Features:
-
- Community-Symbolleiste
- Bevorzugte Projekte auf der Willkommensseite
- Schnelle Suche von Bluetooth LE-Geräten
- Unterstützung für den iOS 8-Simulator
- Ausgewählte Korrekturen:
-
- Robustheit der IDE-Funktionen verbessert
- Verbesserungen der geräteübergreifenden Vorschauen
- Viele weitere Korrekturen. Im EDN finden Sie eine detaillierte Liste der Korrekturen (EN).
Neuerungen in XE8 General Update 1
General Update 1 ist für XE8-Kunden ohne ein aktives Update-Abonnement vorgesehen.
- Neue Features:
-
- Community-Symbolleiste
- Korrektur des iOS 8-Simulators
- In der Erstauslieferung von XE8 fehlende Dateien hinzugefügt
Features in XE8 Update 1
GetIt-Package-Manager
Der Name des GetIt-Fensters sowie der Name des GetIt-Package-Managers im Tools-Menü wurden im GetIt-Package-Manager geändert.
GetIt enthält nun drei neue Filteroptionen: Kostenlos, Kaufen und Gekauft. Weitere Informationen zu diesen Optionen finden Sie unter Fenster "GetIt-Package-Manager".
FireDAC-Verbesserungen
In XE8 ist die Eigenschaft Unidirectional so synchronisiert, dass die schreibgeschützte Eigenschaft IsUniDirectional gelesen werden kann.
Ändern Sie den Wert der Eigenschaft Unidirectional Ihrer TFDQuery- oder TFDTable-Objekte, um Ihre FireDAC-Datenmengen in "Unidirektional" zu ändern.
Neue Symbolleiste Embarcadero Community
Mit der neuen Symbolleiste Embarcadero Community können Sie einfach eine Verbindung zur Embarcadero Social Community (EN) herstellen. Die Symbolleiste befindet sich in der rechten oberen Ecke der IDE.
Mit Ansicht > Symbolleisten > Embarcadero Community können Sie die Symbolleiste ein- oder ausblenden.
Weitere Informationen über diese Symbolleiste finden Sie unter Embarcadero Community-Symbolleiste.
Bevorzugte Projekte in der Willkomensseite
Die Willkommensseite enthält nun den Abschnitt Bevorzugte Projekte. Sie können diesem Abschnitt bevorzugte Projekte hinzufügen. Unter Bevorzugte Projekte auf der Willkommensseite finden Sie eine Erläuterung dazu, wie Sie bevorzugte Projekte der Willkommensseite hinzufügen bzw. daraus entfernen.
FireMonkey-Änderungen für XE8
FireMonkey ist unsere proprietäre Bibliothek der objektorientierten Programmierung (Klassen, Methoden, Eigenschaften usw.).
Native Darstellung von TListView, TSwitch, TMemo, TCalendar, TMultiView und TEdit auf iOS
Auf der iOS-Zielplattform unterstützt FireMonkey jetzt mit Stilen versehene und native Darstellungen für die Steuerelemente TListView, TSwitch, TMemo, TCalendar, TMultiView und TEdit.
- Wenn Sie eine dieser Komponenten in den Formular-Designer einfügen, verwendet RAD Studio standardmäßig die mit Stilen versehene (
Styled
) Darstellung. - Um die native Darstellung auf der iOS-Zielplattform zu verwenden, setzen Sie die neue Eigenschaft ControlType auf
Platform
.
Weitere Informationen finden Sie unter TPresentedControl.ControlType, TListViewBase.ControlType und Native FireMonkey-iOS-Steuerelemente.
Verbesserte Interoperabilität zwischen Plattform- und mit Stilen versehenen Steuerelementen
Die Eigenschaft ControlType steht jetzt für einige Steuerelemente zur Verfügung, die noch über keine native iOS-Darstellung verfügen.
- Der Wert der Eigenschaft ControlType wird nur auf der iOS-Plattform verwendet; auf allen anderen Plattformen wird er ignoriert.
- Mit Stilen versehene Steuerelemente, die jetzt die Eigenschaft ControlType enthalten, sind: TPanel, TButton, TSpeedButton, TCornerButton, TCheckBox, TRadioButton, TGroupBox, TStatusBar, TToolBar, TProgressBar, TTrackBar, TArcDial.
- Durch Setzen der Eigenschaft ControlType auf "Platform" für diese Steuerelemente können sie mit derselben Z-Reihenfolge wie Plattform-Steuerelemente (einschließlich von TWebBrowser- und TMediaPlayer-Steuerelementen) gezeichnet werden.
Desktop-Webbrowser
FireMonkey unterstützt jetzt die Komponente TWebBrowser auf Desktop-Plattformen (Windows und Mac OS X). Früher wurde TWebBrowser nur auf mobilen Plattformen (Android und iOS) unterstützt. Alle grundlegenden Funktionen des Webbrowsers (wie "Zu URL navigieren", "Zurück", "Vorwärts" usw.) sind verfügbar. Weitere Informationen finden Sie unter Mobile-Tutorial: Verwenden von Webbrowser-Komponenten (iOS und Android).
Interaktive Landkarten
Auf mobilen Plattformen (Android und iOS) unterstützt FireMonkey die Komponente TMapView, mit der Sie Ihren mobilen Anwendungen interaktive Landkarten hinzufügen können. Grundlegende Funktionen dieser Komponente:
- Vier Kartenarten: Normal, Satellit, Hybrid und (nur für Android) Terrain.
- Gesten-Steuerelement: Gesten-Steuerelemente für intuitive Neigung, Drehen und Zoomen.
- Steuerung der Kartenansicht: Möglichkeit, die Karteneigenschaften, wie Kartenmittelpunktkoordinaten, Kartenausrichtung usw., zu steuern.
- Benutzerdefinierte Marker: Möglichkeit, Marker zu Landkarten hinzuzufügen.
WICHTIG: Für die Verwendung von TMapView in einer Android-App benötigen Sie einen API-Key für Google Maps. Ohne einen gültigen API-Key tritt ein Laufzeitfehler auf. Einzelheiten zum Abrufen des API-Key für Google Maps finden Sie unter Konfigurieren von Android-Anwendungen für die Verwendung von Google Maps.
Weitere Informationen und Beispiele finden Sie unter Mobile-Tutorial: Verwenden einer Landkarten-Komponente für die Arbeit mit Landkarten (iOS und Android).
Neue Optionen für die Medienbibliothek
FireMonkey enthält jetzt eine Option zum Speichern der von der Gerätekamera aufgenommenen Bilder in der Fotobibliothek des Geräts.
Wenn Ihre Anwendung Bilder mit FireMonkey-Aktionen oder dem Interface IFMXCameraService verwaltet, können Sie mit der Eigenschaft TCustomTakePhotoAction.NeedSaveToAlbum oder einem Parameter vom Typ TParamsPhotoQuery veranlassen, dass Ihre Anwendung die Bilder automatisch in der Fotobibliothek des Geräts speichert.
Außerdem ermöglicht FireMonkey mit dem Interface IFMXPhotoLibrary, dass Sie beliebige Bitmap-Bilder in der Fotobibliothek des Geräts speichern.
Weitere Informationen und Codebeispiele finden Sie in den folgenden Themen:
- Aufnehmen und Teilen von Bildern und Text mit Aktionslisten
- Aufnehmen von Bildern mit FireMonkey-Interfaces
- IFMXPhotoLibrary.AddImageToSavedPhotosAlbum
Standardaktionen für TMediaPlayer
FireMonkey stellt jetzt die folgenden Standardaktionen bereit, mit denen Sie jede beliebige Instanz von TMediaPlayer steuern können:
Formularvorschau
In FireMonkey-Projekten steht jetzt eine Formularvorschau zur Verfügung. Die Formularvorschau ermöglicht beim Entwurf von Anwendungen die korrekte Platzierung von Formularen. Die Formularvorschau, die sich in der rechten unteren Ecke des Designers befindet, zeigt die Bildschirmposition des Formulars zur Laufzeit an.
InputQuery unterstützt jetzt die Maskierung von Eingabefeldern
InputQuery ermöglicht jetzt, dass Felder als maskiert gekennzeichnet werden, sodass Eingabedaten auf dem Bildschirm visuell maskiert sind. Um ein Feld als maskiert zu kennzeichnen, stellen Sie dem Feldnamen im Aufruf von InputQuery Folgendes voran:
- Delphi: "#1". Verwenden Sie beispielsweise statt des Feldnamens 'Password' den Feldnamen #1'Password'.
- C++: "\1". Verwenden Sie beispielsweise statt des Feldnamens "Password" den Feldnamen "\1Password".
AppAnalytics in FireMonkey
FireMonkey unterstützt jetzt die Komponente AppAnalytics, mit der Sie Nutzungsdaten für Ihre Anwendung protokollieren können. Sie müssen nur eine TAppAnalytics-Komponente in Ihre Anwendung einfügen und einige Optionen der Komponente festlegen. Nachdem TAppAnalytics aktiviert worden ist, sind nach einigen Minuten Nutzungsdaten in der AppAnalytics-Weboberfläche verfügbar.
- AppAnalytics ist völlig anonym und erfasst und übermittelt keine vertraulichen oder personenbezogenen Daten.
- Weitere Informationen finden Sie unter:
Anpassen lokaler Mitteilungen
Eigene Mitteilungstöne
Sie können einen eigenen Mitteilungston festlegen, indem Sie den Wert des Feldes SoundName festlegen. Weitere Informationen finden Sie unter Mobile-Tutorial: Verwenden von Mitteilungen (iOS und Android).
Wiederholen von Mitteilungen
Wiederholen Sie geplante Mitteilungen in bestimmten Intervallen, indem Sie den Wert der Eigenschaft RepeatInterval festlegen. Weitere Informationen finden Sie unter Mobile-Tutorial: Verwenden von Mitteilungen (iOS und Android).
Die zur Laufzeit verwendete Android-Ansicht hängt von den Abmessungen des Zielgeräts ab
In den beiden folgenden Tabellen sind der zur Auswahl der passenden Android-Ansicht zur Laufzeit verwendete Algorithmus bzw. die Bereiche der Android-Gerätegrößen für die jeweilige Ansicht beschrieben:
- Algorithmus zum Laden von Ansichten: Verwenden von FireMonkey-Ansichten
- Bereiche von Gerätegrößen für Android-Ansichten: Ausführen von Android-Anwendungen auf einem Android-Gerät
Speichern von Bildern in der Fotobibliothek des Geräts
FireMonkey enthält jetzt das Interface IFMXPhotoLibrary zum Speichern von Bildern in der Fotobibliothek des Geräts:
- Um ein Bitmap-Bild in der Fotobibliothek des Geräts zu speichern, verwenden Sie AddImageToSavedPhotosAlbum.
Weitere Informationen zum Speichern von Bildern in der Fotobibliothek des Geräts finden Sie unter MediaLibrary.IFMXPhotoLibrary und IFMXPhotoLibrary.AddImageToSavedPhotosAlbum.
TImageList führt Bilderlisten als zentralisierte Bildersammlungen ein
FireMonkey stellt Bilderlisten jetzt in einer neuen Komponente, FMX.ImgList.TImageList, bereit. Bilderlisten bieten Tools mit vielfältigen Funktionen für die Verwendung von zentralisierten Sammlungen kleiner Bilder durch GUI-Elemente (Steuerelemente, Menüs und andere) in Ihren FireMonkey-Anwendungen. Die FireMonkey-TImageList dient denselben Zwecken wie die VCL-Vcl.Controls.TImageList, umfasst aber fortgeschrittenere Funktionen und ist für die Verwendung in plattformübergreifenden FireMonkey-Anwendungen geeigneter.
Jedes Bild in einer Liste wird aus mehreren Bitmaps mit Mehrfachauflösung gebildet, um sicherzustellen, dass Bilder auf Geräten mit unterschiedlichen Punktdichten und Auflösungen des Bildschirms korrekt angezeigt werden. Mit dem Bilderlisten-Editor können Sie FireMonkey-Bilderlisten vorbereiten und ändern.
Weitere Informationen finden Sie unter Verwenden von TImageList-Bilderlisten als zentralisierte Bildersammlungen und FMX.ImageList (Beispiel).
Neue und geänderte FireMonkey-API
Neues OnFilter-Ereignis
FireMonkey stellt das neue Ereignis OnFilter zum Festlegen von Filtern in einem Suchfeld bereit.
Weitere Informationen über das neue Ereignis OnFilter finden Sie unter TListViewBase.OnFilter und TSearchBoxModel.OnFilter.
Festlegen einer benutzerdefinierten Einstellung der Aufnahmequalität für Ihre Kamera
TVideoCaptureQuality verfügt über den neuen Wert CaptureSettings
zum Festlegen einer benutzerdefinierten Einstellung der Aufnahmequalität für Ihre Kamera.
- TCameraComponent: Mit der Eigenschaft TCameraComponent.Quality können Sie eine benutzerdefinierte Datenauflösung für die Aufnahme festlegen.
- Mit TCameraComponent.AvailableCaptureSettings rufen Sie ein Array mit den möglichen Konfigurationen für Qualitätseinstellungen ab, das die Auflösung (
Resolution
) oder die Frame-Raten (FrameRate
) priorisiert. - Weitere Informationen finden Sie unter:
- Mit TCameraComponent.AvailableCaptureSettings rufen Sie ein Array mit den möglichen Konfigurationen für Qualitätseinstellungen ab, das die Auflösung (
- TVideoCaptureDevice: Mit der Eigenschaft TVideoCaptureDevice.Quality können Sie eine benutzerdefinierte Datenauflösung für die Aufnahme festlegen.
- Mit TVideoCaptureDevice.AvailableCaptureSettings rufen Sie ein Array mit den möglichen Konfigurationen für Qualitätseinstellungen ab, das die Auflösung (
Resolution
) oder die Frame-Raten (FrameRate
) priorisiert. - Weitere Informationen finden Sie unter:
- Mit TVideoCaptureDevice.AvailableCaptureSettings rufen Sie ein Array mit den möglichen Konfigurationen für Qualitätseinstellungen ab, das die Auflösung (
Neue Klasse "TBoundingBox"
TBoundingBox ist eine neue Klasse, die TRectF entspricht, aber für die Verwendung in 3D. Diese Klasse definiert einen Record-Typ, der die maximalen und minimalen Eckpunkte speichert, die ein Feld beschreiben.
Es gibt verschiedene Konstruktoren, mit denen Sie eine TBoundingBox erstellen können: durch Angabe eines Ursprungs, einer Reihe von Punkten, Koordinaten oder einer vorhandenen TBoundingBox. Unter anderem stellt diese Klasse die folgenden Methoden bereit: GetSize, Inflate, IntersectsWith, Contains und Normalize.
Eigenschaft "PullRefreshWait" für die native iOS-Listenansicht
Mit der neuen Eigenschaft PullRefreshWait können Sie festlegen, ob der animierte, sich drehende Mauszeiger (Wartecursor), der angezeigt wird, wenn PullToRefresh True
ist, automatisch verschwindet.
Wenn Sie PullRefreshWait auf True
setzen, müssen Sie die Methode StopPullRefresh aufrufen, um den animierten, sich drehenden Mauszeiger bei Bedarf auszublenden.
Die Eigenschaft PullRefreshWait betrifft nur native iOS-Steuerelemente.
Änderungen der Laufzeitbibliothek (RTL) für XE8
Neue HTTP-Client-API
Die RTL enthält mehrere neue Netzwerk-Units mit Membern, mit denen Sie einen HTTP-Client erstellen, Anforderungen an HTTP-Server senden und deren Antworten verwalten können.
In Verwenden eines HTTP-Clients wird erklärt, wie Sie mit den beiden neuen HTTP-Komponenten, TNetHTTPClient und TNetHTTPRequest, HTTP-Anforderungen behandeln können. Sehen Sie sich auch die Haupt-HTTP-Client-Klassen an:
- THTTPClient – repräsentiert einen HTTP-Client.
- THTTPRequest – repräsentiert eine Anforderung von Ihrem Client an einen Server.
- THTTPResponse – repräsentiert die Antwort des Servers auf eine Anforderung Ihres Clients.
Beacon-Unterstützung
Die RTL unterstützt jetzt die Verwendung von Beacons. Ein Beacon ist ein Bluetooth Low Energy-Gerät, das in seinen Bekanntgabedaten herstellerspezifische Daten enthält. Anhand dieser Daten können alle Geräte, die diese Informationen empfangen, das Beacon-Gerät identifizieren und die Entfernung dazu berechnen, ohne dass eine Koppelung oder die Einrichtung einer Verbindung erfolgen muss.
Folgende verfügbare Beacon-Formate werden unterstützt:
- iBeacon (EN) – Das von Apple definierte Format.
- AltBeacon (EN) – Ein offenes Format, auch als "alternativer Beacon" bezeichnet, das Android und iOS unterstützt.
In Verwenden von Beacons wird gezeigt, wie eine Beacon-Anwendung implementiert wird.
Neue Komponente für Classic Bluetooth
Die Unit System.Bluetooth.Components enthält nun die Komponente: TBluetooth. Mit dieser neuen Komponente können Sie Classic Bluetooth in Ihren Anwendungen mit einem komponentenbasierten Ansatz nutzen.
Unter Verwenden von Classic Bluetooth finden Sie weitere Informationen zu dieser neuen Komponente.
Neue Hash-API
Die RTL enthält die neue Unit System.Hash. Diese Unit beinhaltet Klassen und Methoden, mit denen Sie die folgenden Hashfunktionen in Ihren Anwendungen verwenden können:
Neue Delphi-Datentypen FixedInt und FixedUInt
In XE8 wurden zwei neue plattformunabhängige 32-Bit-Integertypen eingeführt:
FixedInt und FixedUInt stellen Portabilität, bessere Integration und Interoperabilität mit 32-Bit- und 64-Bit-Plattformen sicher. Diese beiden neuen Typen gewährleisten die Unterstützung der Programmiersprachen Delphi und C++ in Ihren Anwendungen.
Die Größe von FixedInt und FixedUInt beträgt auf allen 64-Bit- und 32-Bit-Plattformen 32 Bit (64-Bit-iOS, 64-Bit-Windows, 32-Bit-Windows, OSX32, 32-Bit-iOS und Android). Die folgende Tabelle enthält die äquivalenten Typen der verschiedenen Plattformen.
Äquivalente Typen anderer Plattformen | ||
---|---|---|
Windows-Plattformen (32-Bit- und 64-Bit-Windows) |
OSX32, Android-Plattformen und iOS-Plattformen (32-Bit- und 64-Bit-iOS) | |
FixedInt | LongInt | Integer |
LongWord | Cardinal |
Weitere Informationen finden Sie unter:
Änderung der Größe von LongInt und LongWord für 64-Bit-iOS-Plattformen
LongInt und LongWord sind jetzt plattformabhängige Integertypen.
Auf 64-Bit-iOS-Plattformen sind LongInt und LongWord doppelt so groß wie auf 32-Bit-Plattformen (32-Bit-Windows, OSX32, 32-Bit-iOS und Android), und auf 64-Bit-Windows-Plattformen sind die folgenden Größen festgelegt:
Größe | ||
---|---|---|
32-Bit-Plattformen und 64-Bit-Windows-Plattformen | 64-Bit-iOS-Plattformen | |
LongInt | 32 Bit (4 Byte) | 64 Bit (8 Byte) |
LongWord |
32 Bit (4 Byte) | 64 Bit (8 Byte) |
Weitere Informationen finden Sie unter Plattformabhängige Integertypen.
Asynchronous Programming Library (APL)
Die RTL unterstützt die asynchrone Programmierung in TComponent.
Weitere Informationen finden Sie unter Verwenden der APL (Asynchronous Programming Library).
Änderungen der VCL für XE8
SetApplicationMainFormOnTaskBar wurde aus Vcl.Forms.hpp entfernt
In Ihren vorhandenen C++-VCL-Anwendungen sollten Sie die folgende Zeile:
SetApplicationMainFormOnTaskBar(Application, true);
durch diese Zeile ersetzen:
Application->MainFormOnTaskBar = true;
Weitere Informationen finden Sie unter:
AppAnalytics in der VCL
Die VCL unterstützt jetzt die Komponente TAppAnalytics. AppAnalytics ermöglicht Ihnen, Nutzungsdaten Ihrer Anwendung zu protokollieren. Sie müssen nur eine TAppAnalytics-Komponente in Ihre Anwendung einfügen und einige Optionen der Komponente festlegen. Nach der Aktivierung von AppAnalytics sind nach wenigen Minuten Nutzungsdaten in der AppAnalytics-Weboberfläche verfügbar. AppAnalytics erfasst und übermittelt keine vertraulichen oder personenbezogenen Daten. Die Daten sind vollkommen anonym.
Weitere Informationen finden Sie unter Übersicht über AppAnalytics.
Neue VCL-Stile
Drei neue VCL-Stile wurde in XE8 aufgenommen: Glow, Sky und Tablet Light.
Mit Projekt > Optionen > Anwendung > Erscheinungsbild können Sie auf die VCL-Stile zugreifen.
Delphi-Änderungen für XE8
DCCIOSARM64.EXE: Neuer Compiler für 64-Bit-iOS-Geräte
Der Compiler DCCIOSARM64.EXE ist ein neuer Compiler der nächsten Generation, der die Entwicklung von 64-Bit-iOS-Apps unterstützt.
Beachten Sie bitte, dass für den App Store jetzt 32-Bit-iOS-Apps auch 64-Bit-iOS-Geräte unterstützen müssen. Weitere Informationen finden Sie unter Neue Option zum Erzeugen von iOS-Binärdateien, die 32-Bit- und 64-Bit-iOS unterstützen.
Universelle iOS-Apps: DCCIOSARM64 unterstützt auf der Seite Compilieren der Projektoptionen eine neue Option: Universelle iOS-Binärdatei generieren (armv7 + arm64).
Durch Setzen dieser Option auf True wird eine universelle iOS-App generiert, die auf 32-Bit- und 64-Bit-iOS-Geräten ausgeführt wird. Diese Option ist nur verfügbar, wenn die Zielplattform iOS-Gerät - 64 Bit ist.
Siehe auch Bedingte Compilierung (Delphi).
Zwei neue Datentypen: FixedInt und FixedUInt
Einzelheiten finden Sie unter Neue Delphi-Datentypen FixedInt und FixedUInt.
Änderungen von C++ für XE8
BCCIOSARM64.EXE: Neuer durch Clang erweiterter Compiler für 64-Bit-iOS-Geräte
Es wurde ein neuer Compiler hinzugefügt, der 64-Bit-iOS-Anwendungen erzeugt: BCCIOSARM64.EXE: Der C++-Compiler für 64-Bit-iOS-Geräte.
Beachten Sie bitte, dass für den App Store jetzt 32-Bit-iOS-Apps auch 64-Bit-iOS-Geräte unterstützen müssen. RAD Studio enthält eine Option zum Erstellen einer universellen 32-Bit/64-Bit-iOS-App. Weitere Informationen finden Sie unter Neue Option zum Erzeugen von iOS-Binärdateien, die 32-Bit- und 64-Bit-iOS unterstützen.
BCCIOSARM64 unterstützt das neue vordefinierte Makro __arm64__
. Um für die 64-Bit-iOS-Zielplattform spezifischen Code zu schreiben, können Sie das Makro wie folgt verwenden:
#if defined (__arm64__)
...
#endif
Um für x64 (iOS und Windows) spezifischen Code zu schreiben, können Sie Folgendes verwenden:
#if defined(__clang__) && (__POINTER_WIDTH__ == 64)
...
#endif
Weitere Informationen finden Sie unter Vordefinierte Makros.
Beim Einbeziehen von Laufzeit-Packages sind jetzt voll qualifizierte Namen erforderlich
Beim Erzeugen einer VCL- oder FireMonkey-C++-Anwendung führt die IDE eine Package-Analyse durch – das heißt, die IDE berechnet aus den einbezogenen Headern die Packages, die für Anwendung erforderlichen sind bzw. von der Anwendung verwendet werden. Vor XE8 hat die IDE Basisnamen beim Abgleichen von Headern mit Packages verwendet. Wenn die Datei SysUtils.hpp
in eine Anwendung einbezogen wurde, hat die IDE beispielsweise gefolgert, dass die Anwendung das rtl
-Package verwendet. und #include ActnCtrls.hpp
bedeutete, dass die Anwendung das vcl
-Package verwendet.
Die Verwendung von Basisnamen hat jedoch Nachteile. Von einer Anwendung, die einen Header namens About.h|hpp
einbezieht, könnte fälschlicherweise angenommen werden, dass die Anwendung das FireDAC UI-Package einbezieht, weil dieses eine Unit mit Namen FireDAC.VCLUI.About.hpp
enthält. Ebenso könnte das Einbeziehen von assert.h
die IDE dazu veranlassen, das DUnitXRuntime-Package zu linken (es enthält eine Unit namens DUnitX.Assert
).
Nur Übereinstimmungen mit dem qualifizierten Namen
Ab XE8 betrachtet die IDE ein Package nur als erforderlich, wenn eine #include
-Anweisung für den qualifizierten/vollständigen Namen einer Unit in diesem Package vorhanden ist. Das heißt, wenn die IDE auf die Anweisung #include <XMLDoc.hpp>
trifft, wird nicht mehr angenommen, dass das Xml
-Package erforderlich ist.
Die IDE bezieht das Packagexmlrtl
nur dann ein, wenn Sie den vollständig qualifizierten Namen angeben:#include <Xml.XMLDoc.hpp>
.
Diese Änderung wirkt sich nur auf neue Projekte aus
Die Änderung betrifft neue Projekte oder wenn in ein vorhandenes Projekt ein bisher noch nicht verwendetes Package einbezogen wird.
Diese Änderung wirkt sich nicht auf vorhandene Projekte aus, da deren Package-Anforderungen bereits berechnet und in der Projektdatei (<Projektname>.cbproj
) gespeichert wurden.
Neue Makros definiert
Um Ihnen die Überwachung der Verwendung von voll qualifizierten Package-Namen zu ermöglichen, wurden die beiden folgenden neuen Makros definiert:
- WARN_LEGACY_HEADER_USAGE – Generiert eine Warnung, wenn ein nicht qualifizierter Header einbezogen ist.
- ERROR_LEGACY_HEADER_USAGE – Generiert einen Fehler, wenn ein nicht qualifizierter Header einbezogen ist.
Wenn Sie #define WARN_LEGACY_HEADER_USAGE
hinzufügen und dann #include <SysUtils.hpp>
eingeben, wird nach dem nächsten Build die folgende Warnung angezeigt:
Include <System.SysUtils.hpp> instead
Wenn Sie #define ERROR_LEGACY_HEADER_USAGE
hinzufügen und dann #include <SysUtils.hpp>
eingeben, wird nach dem nächsten Build die folgende Fehlermeldung angezeigt:
Fatal F1003 $BDS\include\windows\rtl\SysUtils.hpp 8: Error directive: Include 'System.SysUtils.hpp' instead *** 1 errors in Compile ***
DynamicArrays: Erstellung und Initialisierung sind jetzt benutzerfreundlicher
Früher mussten Sie die Länge eines DynamicArray festlegen und dann die Elemente wie folgt hinzufügen:
DynamicArray<int> test;
test.Length = 3;
test[0] = 1;
test[1] = 2;
test[2] = 3;
Jetzt können Sie ein dynamisches Array gleichzeitig initialisieren und erstellen, wenn Sie einen der C++-Compiler, die durch Clang erweitert wurden, verwenden:
DynamicArray<int> test = {0, 1, 2};
Für BCC32 können Sie das Array wie folgt initialisieren und erstellen:
DynamicArray<int> test(0, 1, 2);
Die neue Syntax wurde mit C++11 std::initializer_list implementiert.
Neue Formen
Für Alle Unsere C++-Compiler
Verwenden eines einfachen C++-Arrays:
// template <size_t SIZE> System::DynamicArray(T(&array)[SIZE]);
int values[] = { 1, 2, 3, 4, 5 };
System::DynamicArray<int> h(values);
Für C++-Compiler, die durch Clang erweitert wurden
C++11-Initialisierungslisten:
// System::DynamicArray(std::initializer_list<T> il);
System::DynamicArray<char> ArrayOfChars('a', 'b', 'c');
System::DynamicArray<int> ArrayOfInts(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
Variadischer C++11-Konstruktor mit template:
// template <class... Types> System::DynamicArray(const T &t, Types && ...values);
System::DynamicArray<char> c('a'); // t='a', ...values=<>
System::DynamicArray<char> d('a', 'b', 'c'); // t='a', ...values=<'b', 'c'>
Für BCC32
Da BCC32 keine uniforme C++11-Initialisierung unterstützt, wurden Konstruktorüberladungen für 2 bis zu 19 Parameter hinzugefügt:
// System::DynamicArray(const T &t0, const T &t1, const T &t2);
System::DynamicArray<char> f('a', 'b', 'c');
// System::DynamicArray(const T &t0, const T &t1, const T &t2, const T &t3,
// const T &t4, const T &t5, const T &t6, const T &t7,
// const T &t8, const T &t9, const T &t10, const T &t11,
// const T &t12, const T &t13, const T &t14, const T &t15,
// const T &t16, const T &t17, const T &t18);
System::DynamicArray<int> g( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
Weitere Informationen finden Sie unter Strukturierte Typen (Delphi).
SetApplicationMainFormOnTaskBar wurde aus Vcl.Forms.hpp entfernt
Einzelheiten dazu finden Sie unter Änderungen der VCL für XE8.
Boost ist jetzt außerhalb des Installationsprogramms verfügbar
Die Boost-Bibliotheken sind nicht mehr Bestandteil des Produkt-Installationsprogramms. Boost kann sehr einfach installiert werden, indem Sie Tools > GetIt wählen, um das GetIt-Hauptfenster zu öffnen, und dann Boost aus GetIt für die Installation auswählen.
Weitere Möglichkeiten zum Installieren (oder Deinstallieren) von Boost finden Sie unter Boost.
Neue Möglichkeiten zur Behandlung von anonymen Delphi-Methoden
Wir haben die empfohlene Methode zur Behandlung der anonymen Delphi-Methoden in C++-Anwendungen aktualisiert. In der überarbeiteten Beschreibung in Behandlung der anonymen Methoden von Delphi in C++ wird entweder ein Funktor (Funktionsobjekt) oder ein Lambda-Ausdruck verwendet. Weitere Informationen finden Sie in den Codebeispielen auf der Seite.
C++-Zuweisungsoperator mit gleicher Funktion wie der implizite Delphi-Operator
In C++ können Sie den operator=
für die Zuweisung zum Ergebnistyp verwenden, genauso wie der implizite Operator in Delphi verwendet wird.
Beispielsweise ist es in Delphi möglich, der Variable myVar
mit dem Typ TValue verschiedene Typen zuzuweisen:
a := 'assigning a string';
a := 123;
a := 3.14;
Früher mussten Sie in C++ ohne den Zuweisungsoperator Folgendes schreiben:
a = TValue::_op_Implicit(UnicodeString(L"assigning a string"));
a = TValue::_op_Implicit(123);
a = TValue::_op_Implicit(3.14L);
Jetzt können Sie in C++ mit dem Zuweisungsoperator Folgendes schreiben:
a = UnicodeString(L"assigning a string");
a = 123;
a = 3.14L;
Weitere Einzelheiten finden Sie unter C++-Zuweisungsoperator mit gleicher Funktion wie der implizite Delphi-Operator.
Änderungen der IDE für XE8
Neue Zielplattform: iOS-Gerät - 64 Bit
So erstellen Sie eine App für die neue Plattform iOS Gerät - 64 Bit:
- Fügen Sie die neue iOS-Gerät - 64-Bit-Plattform als Zielplattform in die Projektverwaltung ein.
- Fügen Sie das SDK für die neue iOS-Gerät - 64-Bit-Plattform hinzu.
- Compilieren Sie Ihre Delphi- oder C++-Anwendungen für 64-Bit-iOS-Geräte:
- Der App Store akzeptiert nur Anwendungsarchivdateien, die 64-Bit-iOS-Geräte unterstützen. Mit RAD Studio können Sie universelle iOS-Binärdateien generieren, die sowohl 32-Bit- als auch 64-Bit-iOS unterstützen.
Geräteübergreifende Vorschau
Mit der neuen geräteübergreifenden Vorschau können Sie eine Vorschau Ihrer Anwendung auf verschiedenen Geräten anzeigen. In der geräteübergreifenden Vorschau wird eine Vorschau des Designbereichs gleichzeitig auf verschiedenen Geräten angezeigt. Sie können die Geräte für die Vorschau auswählen.
Wählen Sie Ansicht > Geräteübergreifende Vorschau, um das Fenster Geräteübergreifende Vorschau zu öffnen.
Weitere Informationen zu dieser Funktion finden Sie unter Geräteübergreifende Vorschau.
Gerätemanager
Der Gerätemanager zeigt eine Tabelle mit den verfügbaren Geräte-Voreinstellungen an. Die Geräte-Voreinstellungen sind eine Liste der verfügbaren Geräte, die Sie beim Entwurf zum Beispiel im Fenster Geräteübergreifende Vorschau verwenden können.
Sie öffnen den Gerätemanager mit Tools > Optionen > Umgebungsoptionen > Formular-Designer > Gerätemanager.
Mit dem Gerätemanager können Sie eine Geräte-Voreinstellung mithilfe des Fensters Geräteeinstellungen hinzufügen, bearbeiten und löschen.
Die Geräte-Voreinstellungen können auch als Ansichten Ihres geräteübergreifenden Projekts verwendet werden, wenn die Ansicht durch Installieren des Package einer solchen Ansicht registriert wurde.
Der Gerätemanager verwaltet die Datei DevicePresets.xml
.
- Hinweis: In XE8 wurde die Datei
MobileDevices.xml
inDevicePresets.xml
umbenannt.
Ausführen Ihrer Apps auf beliebigen iOS-Simulatoren
Im Knoten Ziel des Plattformknotens iOS-Simulator in der Projektverwaltung ist jetzt die vollständige Liste der Simulatoren enthalten, die von der Xcode-Installation auf Ihrem Mac unterstützt werden. In der Projektverwaltung wird auch die iOS-Version für jeden Simulator angezeigt, und Sie können Ihre Anwendungen auf einem Gerätemodell mit einer der unterstützten iOS-Versionen ausführen.
"Weitere Dateien hinzufügen" wird bei Bedarf automatisch geöffnet
Wenn Sie der Projektverwaltung eine Datei hinzufügen, für die weitere Dateien in der Bereitstellungskonfiguration Ihres Projekts erforderlich sein könnten, öffnet RAD Studio jetzt eine gefilterte Ansicht des Dialogfeldes Weitere Dateien hinzufügen, sodass Sie die erforderlichen weiteren Dateien in die Bereitstellungskonfiguration Ihres Projekts einfügen können. Weitere Informationen finden Sie unter Weitere Dateien hinzufügen – Gefilterte Liste.
Deaktivieren von in RAD Studio integrierten Java-Bibliotheken für Android in der Projektverwaltung
In XE8 sind in der Projektverwaltung die integrierten RAD Studio-Java-Bibliotheken für Android aufgeführt, und Sie können jede dieser Bibliotheken deaktivieren. Deaktivieren Sie Java-Bibliotheken, die Ihre Anwendung nicht benötigt, um eine schlankere Anwendung zu erhalten. Weitere Informationen finden Sie unter Verwenden der in RAD Studio integrierten Java-Bibliotheken für Android.
In XE7 konnten Sie Ihren Android-Anwendungen benutzerdefinierte Java-Bibliotheken einfach in der Projektverwaltung hinzufügen. Um jedoch nicht benötigte Java-Bibliotheken zu entfernen, die RAD Studio standardmäßig in Android-Anwendungen einbezieht, mussten Sie manuell eine benutzerdefinierte classes.dex
-Datei anlegen und bereitstellen.
Mercurial-Versionskontrollsystem in die IDE integriert
RAD Studio unterstützt jetzt zur Verwaltung und Protokollierung von Änderungen in Ihren Projekten ein neues in die IDE integriertes Versionskontrollsystem: Das verteilte Mercurial-Versionskontrollsystem.
In der Versionsverwaltung sind jetzt integrierte Informationen der Mercurial-Versionskontrolle aus Ihrem lokalen Repository enthalten. Informationen über die protokollierten Änderungen Ihres Projekts finden Sie auf den Registerkarten "Inhalt", "Information" und "Unterschiede".
Mercurial kann eingesetzt werden, um:
- Eine Kopie Ihres Remote-Mercurial-Repository zu klonen und damit zu arbeiten.
- Ihre Änderungen an Ihr lokales Repository zu übergeben.
- Protokolldaten aus dem Remote-Repository für Ihr Projekt anzuzeigen.
In XE8 wurden der IDE einige Git-Funktionen hinzugefügt:
- Authentifizierung in Ihrem privaten Remote-Repository.
- Ablegen Ihrer Änderungen im Remote-Git-Repository (Push ausführen) und Abrufen von Änderungen aus dem Repository (Pull ausführen), um Ihre Arbeitskopie mit den neuesten Remote-Änderungen zu aktualisieren.
Weitere Informationen über die in der IDE integrierten Versionskontrollsysteme finden Sie unter:
Tool zum Migrieren von Einstellungen
Mit dem neuen, in RAD Studio XE8 enthaltenen Tool zum Migrieren von Einstellungen können Sie Konfigurationseinstellungen importieren und exportieren (zwischen RAD Studio und Appmethod sowie zwischen verschiedenen Versionen der Produkte).
Das Migrationstool unterstützt Borland Delphi 7 und alle späteren Versionen.
Mit dem Tool zum Migrieren von Einstellungen können Sie:
- Einstellungen in eine Migrationsdatei exportieren: um eine XML-Exportdatei mit der Erweiterung
.idesettings
zu generieren. - Einstellungen aus Migrationsdatei importieren: um die zuvor exportierte XML-Datei mit der Erweiterung
.idesettings
zu importieren. - Einstellungen in neuere Produktversion migrieren: um die Einstellungen automatisch in eine neuere, auf demselben Computer installierte RAD Studio-Version zu migrieren.
- Einstellungen aus Sicherung wiederherstellen: RAD Studio erstellt automatisch vor dem Überschreiben von Einstellungen eine Sicherung. Sie können alle zuvor gesicherten Einstellungen wiederherstellen.
Das Tool migrationtool.exe befindet sich in folgendem Verzeichnis: C:\Programme (x86)\Embarcadero\Studio\16.0\bin
.
Weitere Einzelheiten finden Sie auf der Seite Tool zum Migrieren von Einstellungen.
Neue Optionen zur Codesignierung von iOS-Anwendungen
Sie können jetzt die Signaturdaten auswählen, die RAD Studio für die Codesignatur Ihrer iOS-Anwendungen verwendet.
Auf der Seite Bereitstellung stehen für die verschiedenen Build-Typen für iOS-Geräte (Entwicklung, Ad hoc, Anwendungs-Store) folgende Optionen zur Auswahl:
- Bereitstellungsprofil: Name des Bereitstellungsprofils, das auf dem Zielgerät installiert ist.
- Entwicklerzertifikat: Entwickler- oder Distributionszertifikat, das auf dem Mac installiert ist.
Wenn Sie einen dieser Werte auf der Einstellung Auto
belassen, wählt RAD Studio ein geeignetes Bereitstellungsprofil und Entwicklerzertifikat, das zum CFBundleIdentifier und zum Gerät passt. Weitere Einzelheiten finden Sie unter Ausfüllen der Bereitstellungsseite.
Neue Option zum Erzeugen von iOS-Binärdateien, die 32-Bit- und 64-Bit-iOS unterstützen
Alle neuen iOS-Apps, die an den App Store übermittelt werden, müssen ab dem 1. Februar 2015 die Unterstützung für 64 Bit umfassen. Das heißt, Anwendungen, die für Geräte mit 32-Bit-iOS entwickelt werden, müssen auch 64-Bit-iOS unterstützen.
Die IDE beinhaltet eine neue Compiler-Option für die Zielplattform 64-Bit-iOS, Universelle iOS-Binärdatei generieren (armv7 + arm64).
Wenn Sie diese Option aktivieren und Ihre Anwendung bereitstellen generiert die IDE eine Fat Binary, die 32-Bit- und 64-Bit-iOS unterstützt.
Sie finden diese Option unter:
- Projekt > Optionen > Delphi-Compiler > Compilieren > Weitere Optionen (Delphi)
- Projekt > Optionen > C++-Compiler > Erweitert > Weitere Optionen (C++)
Berechtigung "Push-Benachrichtigungen empfangen" ist für iOS-Anwendungen nicht mehr erforderlich
Um den Empfang von Push-Benachrichtigungen in iOS-Anwendungen zu aktivieren, müssen Sie in den Projektoptionen keine weiteren Berechtigungen mehr festlegen.
RAD Studio führt die Codesignierung der iOS-App mit einem Bereitstellungsprofil durch, das Dienste für Push-Benachrichtigungen auf dem Gerät, auf dem die App installiert ist, zulässt.
Weitere Informationen finden Sie unter Push-Benachrichtigungen.
Castalia-Integration
In XE8 ist Castalia mit einem speziellen Menü in die IDE integriert. Castalia fügt Funktionen hinzu, mit denen Sie einige Aufgaben einfacher ausführen können. Die Castalia-Funktionen sind in 4 Abschnitte unterteilt:
- Visuelle Funktionen: Dem Quelltext-Editor hinzugefügte visuelle Elemente sorgen für ein besseres Verständnis der Struktur und des Ausführungsablaufs Ihres Codes.
- Steuerelemente im Quelltext-Editor: Der IDE hinzugefügte Steuerelemente unterstützen Sie bei der Navigation durch Ihren Code.
- Nicht visuelle Funktionen: Eine Reihe von Tastenkürzeln stellen Funktionen für die Verwendung beim Schreiben von Code bereit.
- Menü "Castalia": Funktionen und Statistiken Ihres Codes, auf die Sie über das neue Menü zugreifen können.
Unter Übersicht über Castalia ist die Verwendung der Castalia-Funktionen beschrieben.
Customer-Experience-Programm
Die IDE enthält eine neue Option für die Teilnahme am Customer-Experience-Programm. Sie können an diesem Programm teilnehmen und Embarcadero helfen, RAD Studio zu verbessern.
Das Customer-Experience-Programm sammelt während der Sitzung Informationen zur Nutzung der IDE (wie oft Sie RAD Studio starten, wie Sie in der IDE navigieren usw.). Diese Informationen sind völlig anonym, da das Programm keine vertraulichen oder personenbezogenen Daten erfasst und übermittelt.
Sie finden diese Option unter:
- Tools > Optionen > Umgebungsoptionen > Customer-Experience-Programm
Weitere Einzelheiten finden Sie auf der Seite Customer-Experience-Programm.
Visuelle Änderungen und Anpassung
Das Erscheinungsbild der IDE wurde für XE8 geändert. Informationen darüber, wie Sie das Erscheinungsbild der IDE anpassen können, finden Sie unter Systemregistrierungsschlüssel für visuelle IDE-Einstellungen. Führen Sie die folgenden Schritte aus, um einige dieser Änderungen in der XE8-IDE auf das Erscheinungsbild der XE7-IDE zurückzusetzen:
- Erstellen Sie ein neues Textdokument (Sie können dazu einen beliebigen Texteditor verwenden), und kopieren Sie den folgenden Text in diese Datei: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Embarcadero\BDS\16.0\ModernTheme] "FontName"="MS Sans Serif" "FontSize"=dword:00000008 "MainToolBarColor"="clBtnFace"
- Speichern Sie die Datei mit der Erweiterung
.reg
. - Führen Sie die Datei aus. Es wird eine Warnung bezüglich der Änderung der Registrierung angezeigt. Akzeptieren Sie diese Warnung, damit die Änderungen übernommen werden.
-
- Hinweis: Zum Ausführen von Registrierungsskriptdateien sind möglicherweise Administratorrechte erforderlich. Wenn die IDE geöffnet war, während Sie Registrierungswerte festgelegt oder geändert haben, müssen Sie die IDE neu starten, damit die Werte wirksam werden.
-
Änderungen von Datenbanken und Konnektivität für XE8
Änderungen für FireDAC
- Neuer nativer FireDAC-Treiber (
TData
) für Teradata Database auf Basis des ODBC-Treibers für Teradata Database. Siehe Herstellen einer Verbindung mit Teradata Database. - Der FireDAC SQLite-Treiber wurde in XE8 aktualisiert. Detaillierte Informationen dazu finden Sie unter Herstellen einer Verbindung zu SQLite-Datenbanken (FireDAC).
- Migrieren Sie Ihre vorhandenen dbExpress-Anwendungen, damit Sie neuere Datenbanktechnologien, wie FireDAC, verwenden können. Informationen zur Migration finden unter Migrieren von dbExpress-Anwendungen nach FireDAC.
- Befolgen Sie die Schritte unter Migration von dbExpress-Anwendungen (FireDAC), um Ihre dbExpress-Delphi-Anwendungen zu migrieren.
Sie müssen möglicherweise vorhandenen FireDAC-Code aktualisieren, damit er den folgenden API-Änderungen entspricht:
Basis-Member* | Änderungen |
---|---|
FireDAC.Comp.Client.TFDAdaptedDataSet.OnError |
In XE7 war In XE8ist |
In XE7 war der zweite Parameter In XE8 ist | |
In XE7 war In XE8ist |
- * Die Änderungen wirken sich auch auf Member aus, die von den aufgeführten Membern abgeleitet sind.
Enterprise Mobility Services
- Der EMS-Konsolenserver zeigt jetzt Daten aus der neuen Ressource EMS-Installationen an, und stellt zwei neue Analysediagramme dar:
- Gesamtaufrufe der Benutzer
- Benutzeraufrufe der EMS-Server-API
- Weitere Informationen finden Sie bei den neuen Diagrammen in der Benutzeroberfläche der EMS-Konsole.
- Mit dem EMS-Konsolenserver können Sie Analysedaten in einer
.csv
-Datei speichern.- Weitere Informationen finden Sie unter Exportieren von Analysedaten in eine Datei.
- Die EMS Administrative API des EMS-Servers wurde um zwei neue EMS-Ressourcen erweitert:
- EMS-Installationen, eine neue öffentliche Ressource, die Daten über registrierte Geräte einer Client-Anwendung mit EMS-Push-Benachrichtigungen speichert.
- EMS-Push-Ressource, eine neue Ressource, die Daten über die Push-Benachrichtigungen speichert, die vom EMS-Server an die registrierten Geräte gesendet wurden.
- Sie können jetzt die neue TEMSInternalAPI verwenden, wenn Sie eine benutzerdefinierte EMS-Ressource schreiben. Mit der TEMSInternalAPI kann eine benutzerdefinierte Ressource andere EMS-Endpunkte im EMS-Server aufrufen.
- Sie können mit der neuen TEMSClientAPI auch aus Ihrer EMS-Client-Anwendung EMS-Endpunkte im EMS-Server aufrufen.
- Mit den neuen Funktionen von EMS zum Senden von EMS-Push-Benachrichtigungen an die registrierten Geräte im EMS-Server können Sie Inhalte einfach verbreiten.
- Weitere Informationen finden Sie im Abschnitt EMS-Push-Benachrichtigungen und im Tutorial Mobile-Tutorial: Verwenden von Remote-Mitteilungen (iOS und Android).
- Sie können eine benutzerdefinierte Ressource erstellen, welche die Autorisierung externer Anmeldeinformationen zur Anmeldung und Registrierung bei Ihrem EMS-Server unterstützt.
Weitere Informationen finden Sie unter:
Anwendung "EMS Management Console"
Die Anwendung "EMS Management Console" ist eine Beispielanwendung, die zum Lieferumfang von RAD Studio gehört und die Sie nutzen können, um die auf Ihrem EMS-Server gespeicherten Daten zu verwalten und EMS-Push-Benachrichtigungen an die registrierten Geräte zu senden. Sie können diese Anwendung bei Bedarf unter Verwendung des mit RAD Studio ausgelieferten Quellcodes anpassen.
Mit der Anwendung "EMS Management Console" können Sie:
- Die EMS-Benutzer Ihres EMS-Servers verwalten. Sie können Daten von EMS-Benutzern hinzufügen, aktualisieren oder löschen und EMS-Benutzer einer EMS-Gruppe hinzufügen.
- Die EMS-Gruppen verwalten, die auf Ihrem EMS-Server erstellt wurden. Sie können eine neue EMS-Gruppe erstellen, deren Daten aktualisieren und EMS-Benutzer der EMS-Gruppe hinzufügen oder daraus entfernen.
- Die Daten von Geräten, die beim Ihrem EMS-Server registriert sind, verwalten.
- EMS-Push-Benachrichtigungsmeldungen an die bei Ihrem EMS-Server registrierten Geräte senden.
Weitere Informationen zur Verwendung der Anwendung "EMS Management Console" und zum Speicherort des Quellcodes finden Sie unter Anwendung "EMS Management Console".
Datenbankkompatibilität von 64-Bit-iOS-Geräten
Die neue 64-Bit-iOS-Geräteplattform wurde in XE8 hinzugefügt. Diese neue Plattform bietet dieselbe Kompatibilität mit dem Datenbankmanagementsystem (DBMS) wie die 32-Bit-iOS-Geräteplattform:
- FireDAC: DataSnap, InterBase, IBLite/IBToGo und SQLite. Weitere Informationen zur FireDAC-Datenbankkompatibilität.
- dbExpress: DataSnap, IBLite/IBToGo und SQLite. Weitere Informationen zur dbExpress-Datenbankkompatibilität.
Änderungen des Bitmap-Stil-Designers für XE8
- Der Bitmap-Stil-Designer wurde aktualisiert und bietet nun neue Stilvorlagen für die aktuell unterstützten Versionen von iOS und Android.
- {{Mit der Schaltfläche Neuer Stil kann eine Auswahl von Stilvorlagen angezeigt werden, darunter iOS, Android, VCL, Windows, Mac OS X , Metropolis-UI und verschiedene leere Stile.
- Sie können mit den neuen Befehlen im Menü "Stil", z. B. Neue Objekte für Grafik in 1.5x-Auflösung hinzufügen, Neue Objekte für Grafik in 2.0x-Auflösung hinzufügen und Neue Objekte für Grafik in 3.0x-Auflösung hinzufügen, Objekte für unterschiedliche Auflösungen erstellen.
- Objektvorlagen können Sie jetzt mithilfe der neuen Symbolleistenschaltfläche Objektvorlage hinzufügen hinzufügen. Bei Verwendung der Standardobjektstruktur müssen Sie nur die vordefinierten Elemente anpassen und die gewünschten Eigenschaften festlegen.
- Mit dem neuen Kontextmenübefehl Objekt automatisch für alle Grafikauflösungen anpassen können Sie automatisch andere geeignete Auflösungen für Ihre Objekte erstellen.
- Sie können Ihre benutzerdefinierten Objekte mit den neuen Kontextmenübefehlen Objektstil testen (mit unterschiedlichen Auflösungen) testen.
Änderungen der Software von Fremdherstellern für XE8
Box2D für Delphi und C++
RAD Studio enthält jetzt Box2D, eine Open-Source-Physik-Engine für Spiele. Sie können Box2D in Delphi- und C++-Anwendungen in RAD Studio verwenden.
Änderungen des Debuggers für XE8
Das Debuggen von iOS64-Apps wird nicht unterstützt (F9
ist für die Zielplattform iOS-Gerät - 64 Bit nicht aktiviert).
Stattdessen sollten Sie iOS-Gerät - 32 Bit als Zielplattform festlegen, Ihre App debuggen und dann Ihre App für die Zielplattform iOS-Gerät - 64 Bit neu erzeugen.
Änderungen des Test-Frameworks für XE8
RAD Studio unterstützt nun DUnitX für Delphi und C++Builder. Mit diesem Test-Framework können Sie Tests für Win32, Win64 und MacOSX entwickeln und ausführen. DUnitX enthält einen eigenen Methodensatz zum Testen einer großen Anzahl von Bedingungen. Diese Methoden repräsentieren allgemeine Assertions, Sie können aber auch eigene Assertions erstellen.
Weitere Informationen finden Sie unter Überblick über DUnitX.
Änderungen der Grafik-Hilfsprogramme für XE8
Neuer GetIt-Package-Manager
RAD Studio enthält ein neues Grafik-Hilfsprogramm: GetIt. GetIt ist ein Package-Manager, mit dem Sie GetIt-Packages suchen, herunterladen und kostenlos in RAD Studio installieren können. GetIt-Packages können Bibliotheken, Komponenten, IDE-Erweiterungen, SDK und mehr bereitstellen.
Weitere Informationen finden Sie unter GetIt-Package-Manager.
Änderungen der Befehlszeilenhilfsprogramme für XE8
Zwei neue Compiler für 64-Bit-iOS:
- BCCIOSARM64.EXE: Der C++-Compiler für 64-Bit-iOS-Geräte
- DCCIOSARM64.EXE: Der Delphi-Compiler für 64-Bit-iOS-Geräte
Änderungen der Anwendungsbeispiele für XE8
Ältere in XE6 entfernte Beispiele stehen auf SourceForge und im XE6-DocWiki zur Verfügung
Weitere Informationen über den Zugriff auf ältere Produktbeispiele, die aus RAD Studio XE6 entfernt wurden, finden Sie unter Ältere Produktbeispiele.
Änderungen der Hilfe
Neues Offline-Hilfesystem (CHM-Hilfe ersetzt H2)
Die mit RAD Studio ausgelieferten Offline-Hilfedateien liegen jetzt im Format Microsoft Compilierte HTML-Hilfe, CHM, vor. Weitere Informationen finden Sie unter Hilfe zur Hilfe - CHM. Früher wurde die Offline-Hilfe im H2-Format ausgeliefert und konnte mit Microsoft DExplore angezeigt werden.
Im Viewer für die "Microsoft Compilierte HTML-Hilfe" kann nur Offline-Hilfe angezeigt werden. Um auf die Online-Hilfe zuzugreifen, müssen Sie entweder die Online-Hilfe selbst öffnen oder in der Fußzeile einer beliebigen Seite der Offline-Hilfe auf Aktuelle Wiki-Seite klicken. Sie können nicht mehr wählen, ob der Hilfe-Viewer die Offline-Hilfe oder die Online-Hilfe anzeigt.
Sie können eigene CMH-Hilfedateien erstellen und sie mit RAD Studio verknüpfen. Weitere Informationen hierzu finden Sie unter Online-Hilfe für die Komponenten bereitstellen.