Neuerungen in XE7

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Neuerungen

Nach oben zu Neuerungen in den letzten Releases

Das XE7-Release enthält viele neue und verbesserte Features.

Inhaltsverzeichnis

FireMonkey-Änderungen für XE7

Geräteübergreifende FireMonkey-Anwendungen unterstützen Desktop- und mobile Plattformen

Sie müssen nicht mehr auswählen, ob Sie eine Desktop-Anwendung oder eine mobile Anwendung erstellen möchten. FireMonkey-Anwendungen werden jetzt geräteübergreifende Anwendungen genannt und unterstützen standardmäßig alle verfügbaren Zielplattformen.

FireMonkey verwendet für Android die neue Google Mobile Ads-API

FireMonkey verwendet jetzt das neue Google Mobile Ads SDK, um Werbefunktionen auf Android-Geräten bereitzustellen.

Früher hat FireMonkey das Google AdMob SDK verwendet, das jetzt veraltet ist. Google hat angekündigt, dass der Play Store ab dem 1. August 2014 keine mit dem Google AdMob SDK erstellten Anwendungen mehr akzeptiert. Aktualisieren Sie Ihre vorhandenen Android-Apps für die Verwendung von Google Mobile Ads anstelle von AdMob. Siehe Verwenden des AdMob-Dienstes.

Neue TMultiView-Komponente

FireMonkey unterstützt die neue Komponente TMultiView, mit der Sie eine Haupt/Detail-Oberfläche implementieren können, die für jede unterstützte Zielplattform verwendet werden kann.

  • Im Hauptbereich kann eine Sammlung beliebiger visueller Steuerelemente, wie Eingabefelder, Beschriftungen, Listen usw., angezeigt werden.
  • Im Detailbereich werden üblicherweise Informationen auf Basis der Eigenschaften der Steuerelemente im Hauptbereich angezeigt.

Weitere Informationen über diese Komponente und eine Beispielanwendung finden Sie unter Mobile-Tutorial: Verwenden von MultiView-Komponenten zur Anzeige von alternativen Ansichten von Informationen (iOS und Android).

Native Darstellung von TEdit und TCalendar auf iOS

Auf der iOS-Zielplattform unterstützt FireMonkey jetzt mit Stilen versehene und native Darstellungen für die Komponenten TEdit und TCalendar.

  • Wenn Sie eine dieser Komponenten in den Formular-Designer einfügen, verwendet RAD Studio standardmäßig die mit Stilen versehene Darstellung.
  • Um die native Darstellung auf der iOS-Zielplattform zu verwenden, setzen Sie die neue Eigenschaft TPresentedControl.ControlType auf Platform.

Weitere Informationen finden Sie unter TPresentedControl.ControlType und Native FireMonkey-iOS-Steuerelemente.

Hinweis: Die Klasse FMX.DateTimeCtrls.TCalendar wurde in eine eigene Unit, FMX.Calendar, verschoben. Wenn in Ihren bereits vorhandenen Apps TCalendar verwendet wird, müssen Sie FMX.Calendar den uses-Klauseln/include-Anweisungen hinzufügen.

Multi-Display Support

Wenn Ihre Anwendung auf mehreren Displays ausgeführt wird, verwaltet das GUI-Anwendungs-Framework, das Sie einsetzen, effektiv das Layout der Benutzeroberfläche Ihrer Anwendung auf mehreren Displays.

Falls Ihre FireMonkey-Anwendung auf mehreren Displays ausgeführt wird, verwaltet TScreen eine Liste und die Anzahl der aktiven Displays sowie deren Größe und stellt Methoden zum Abrufen des Displays bereit, das ein Formular oder einen Punkt enthält. Die Multi-Display-Unterstützung im FireMonkey-Framework entspricht derUnterstützung für mehrere Bildschirme]] in VCL-Anwendungen.

Unterstützung von Mehrfingereingaben und Gestenänderungen

  • Die neue Unit FMX.MultiTouch enthält einen TMultiTouchManager.
  • Das neue Ereignis OnTouch behandelt reine Gesten (die nie als Mausereignisse interpretiert werden).
  • TForm und TControl verfügen jetzt über das Ereignis OnTap für Benutzereingaben mit dem Finger oder einem fingerähnlichen Gerät (nicht mit der Maus).

Immersiver Vollbildmodus für Android

Sie können jetzt in Ihren Android 4.4-Apps (KitKat) den immersiven Vollbildmodus aktivieren. Um den immersiven Modus zu aktivieren, müssen Sie FMX.Forms.TForm.FullScreen auf True setzen.

Google Glass-Apps werden per Definition im immersiven Vollbildmodus ausgeführt.

Eigenschaften "Size" und "PlatformDefault" in TControl

Eine neue Eigenschaft, Size, wurde TControl hinzugefügt, um die Verwaltung und Speicherung der Größe eines Steuerelements zu ermöglichen. Die Eigenschaft Size ist ein Objekttyp (TControlSize), der ein neues Feld, PlatformDefault, einführt, das standardmäßig auf True gesetzt ist. Mit PlatformDefault können Steuerelemente ihre Größe automatisch in die korrekte vordefinierte Größe für die Laufzeitplattform ändern. Die Eigenschaften Width und Height von TControl sind weiterhin vorhanden, aber deren Werte werden jetzt im Objekt TControlSize anstatt als eigene Breiten- und Höhenfelder gespeichert.

PlatformDefault-Einstellung für TTabPosition für mobile Apps

Die Aufzählung FMX.TabControl.TTabPosition enthält den neuen Wert PlatformDefault, der die Registerkartenposition entsprechend dem Standardverhalten auf der Zielplattform wie folgt festlegt:

  • TTabPosition = Bottom für iOS-Apps
  • TTabPosition = Top für Android-Apps

Siehe Mobile-Tutorial: Verwenden von Registerkarten-Komponenten zur Anzeige von Seiten (iOS und Android).

FireMonkey unterstützt die Funktion "Per Ziehen aktualisieren" für TListView unter iOS und Android

XE7 enthält für TListView die Funktion "Per Ziehen aktualisieren", mit der Sie durch Herunterziehen der Liste den Inhalt aktualisieren können. Informationen zur Aktivierung und Verwendung dieser Funktion finden Sie unter PullToRefresh.

FireMonkey-Funktion "Status speichern"

Mit der neuen FireMonkey-Funktion Status speichern können Sie den Status einer Anwendung speichern, bevor sie geschlossen wird, damit dieser Status beim Neustarten der Anwendung wiederhergestellt werden kann.

Zur Verwaltung dieser neuen Funktion verfügt das Formular über die neue Eigenschaft SaveState, die das Speichern und Wiederherstellen dieses Status durchführt. Diese Speichern-Status-Daten können zwar jederzeit geschrieben oder gelesen werden, aber idealerweise sollte das Speichern dieses Status im neuen Ereignis OnSaveState und das Wiederherstellen im Ereignis OnCreate erfolgen.

Der Speichern-Status des Formulars kann Informationen, wie aktive Registerkarte, in Steuerelementen enthaltener Text, Auswahl von Kontrollkästchen, Kalenderdatum, aktuell ausgewählter Eintrag usw., sowie Benutzerdaten enthalten. Diese Funktion kann auf mobilen und Desktop-Plattformen verwendet werden.

Weitere Informationen zu dieser Funktion finden Sie unter FireMonkey-Funktion "Status speichern".

Dialogfeldmethoden unterstützen beim Schließen der Dialogfelder anonyme Methoden

In XE6 waren Aufrufe von Dialogfeldmethoden (InputBox, InputQuery, MessageDlg, ShowMessage) immer blockierend. Quelltext nach einem Aufruf dieser Methoden wird erst ausgeführt, wenn das Dialogfeld geschlossen ist. Android lässt keine blockierenden Dialogfelder zu, deshalb konnten Sie diese Methoden auf Android nicht verwenden.

In XE7 unterstützen InputBox, InputQuery und MessageDlg den neuen optionalen Parameter ACloseDialogProc. Aufrufe, die diesen neuen Parameter enthalten, funktionieren auf allen Plattformen, auch auf Android. Mit diesem neuen optionalen Parameter können Sie eine anonyme Methode bereitstellen, die aufgerufen wird, wenn das Dialogfeld geschlossen wird. Beim Aufruf dieser Methoden mit diesem neuen Parameter ist Ihr Aufruf auf Desktop-Plattformen blockierend und auf mobilen Plattformen nicht blockierend. Wenn Sie nach dem Schließen des Dialogfeldes Quelltext ausführen müssen, stellen Sie mit diesem neuen Parameter sicher, dass Ihre Anwendung auf allen unterstützten Plattformen wie erwartet funktioniert. Weitere Informationen über anonyme Methoden finden Sie unter:

Wenn Sie InputBox, InputQuery oder MessageDlg aufrufen und keine anonyme Methode beim Aufruf bereitstellen, verhalten sich diese Methoden wie in XE6: Aufrufe sind auf allen Plattformen, einschließlich iOS, blockierend, und Android wird nicht unterstützt.

ShowMessage wird in XE7 für Android ebenfalls unterstützt, und Aufrufe von ShowMessage sind auf Desktop-Plattformen blockierend und auf mobilen Plattformen nicht blockierend. ShowMessage stellt jedoch zur Behandlung des Schließens keinen neuen Parameter bereit. Wenn Sie nach dem Schließen des Dialogfeldes, das von ShowMessage angezeigt wird, Quelltext ausführen müssen, verwenden Sie MessageDlg anstatt ShowMessage.

Für Gesten optimierte Metropolis-UI-Stile

Vier aktualisierte Metropolis-UI-Stile sind für FireMonkey verfügbar (.style-Dateien):

  • MetropolisUIBlack_touch
  • MetropolisUIBlue_touch
  • MetropolisUIDark_touch
  • MetropolisUIGreen_touch

Diese Stile umfassen alle UI-Elemente mobiler Apps und sind für Gesten optimiert. Die Stile befinden Sie im Verzeichnis C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\Studio\15.0\Styles.

Eigenschaft "DesignVisible" wurde entfernt

Die Eigenschaft FMX.Controls.TControl.DesignVisible wurde entfernt. Die Eigenschaft Visible kann jetzt für die Laufzeit und den Entwurf verwendet werden, und in der Strukturansicht können Sie beim Entwurf auf alle Komponenten zugreifen.

Umgestaltung von FireMonkey-Bibliotheken

  • FMX.Controls: Wenn Sie FireMonkey-Formularanwendungen erstellen, sollten für die folgenden Umgestaltungen keine Codeänderungen erforderlich sein, da die Unit FMX.Controls automatisch in FireMonkey-Formularanwendungen einbezogen wird:
  • Die Klasse FMX.Edit.TNumberBox wurde in eine eigene Unit, FMX.NumberBox.TNumberBox, verschoben. Wenn in Ihren bereits vorhandenen Apps TNumberBox verwendet wird, müssen Sie FMX.NumberBox den uses-Klauseln/include-Anweisungen hinzufügen.
  • FMX.DateTimeCtrls.TCalendar wurde in eine eigene Unit, FMX.Calendar, verschoben. Wenn Ihre Apps TCalendar verwenden, müssen Sie FMX.Calendar den uses-Klauseln/include-Anweisungen hinzufügen.
  • MessageDlg, InputQuery und InputBox haben neue Überladungen, die einen anonymen Methodenverweis enthalten. Durch diese Änderung sind die früher benötigten Vorkehrungen beim Verwenden dieser Methoden in Android-Apps nicht mehr erforderlich.

Neue Eigenschaft "Editable" in TTakePhotoFromLibraryAction und TTakePhotoFromCameraAction

Die Basisklasse FMX.MediaLibrary.Actions.TCustomTakePhotoAction zum Durchführen von Aktionen mit Fotos enthält die neue Eigenschaft Editable.

Die neue Eigenschaft Editable ermöglicht mit TTakePhotoFromLibraryAction oder TTakePhotoFromCameraAction das Zuschneiden eines Bilds nach dem Laden oder nach der Aufnahme.

Weitere Informationen zur Verwendung der neuen Eigenschaft finden Sie unter Mobile-Tutorial: Aufnehmen und Teilen von Bildern und Teilen von Text (iOS und Android), Aktivieren der Bildbearbeitung.

Änderungen des "Platform Assistant " für XE7

Zwei neue Befehle in PAServer

  • v - Ausführlichen Modus umschalten (im ausführlichen Modus (verbose) werden die Befehlszeilenparameter angezeigt, wenn Sie einen Befehl eingeben)
  • r - Zurücksetzen, alle untergeordneten Prozesse beenden

Weitere Informationen finden Sie unter PAServer: Die Platform Assistant Server-Anwendung.

Neue App "PAServer Manager"

Eine neue GUI-App wurde hinzugefügt, die auf dem Mac ausgeführt wird. Mit PAServer Manager können Sie mehrere PAServer-Prozesse für Mac- und iOS-Apps erstellen und verwalten:

StartPAServerMenu.png

Weitere Informationen finden Sie unter:

Änderungen der IDE für XE7

RAD Studio – Interaktive Einführungen

Dieses Release enthält eine neue Technologie zum Bereitstellen von interaktiven Einführungen, um das Erlernen von RAD Studio zu erleichtern. Die interaktiven Einführungen bestehen aus schrittweisen Anleitungen, um bestimmte Features und Funktionen zu demonstrieren.

In diesen interaktiven Einführungen werden für jeden Schritt Popup-Blasen mit einer Erklärung, was Sie in dem Schritt ausführen müssen, angezeigt. Sie müssen die Anweisungen lesen und alle Schritte befolgen, um die interaktive Einführung erfolgreich abzuschließen. Sie öffnen eine interaktive Einführung, indem Sie auf den entsprechenden Link auf der Willkommensseite klicken. Weitere Informationen finden Sie unter RAD Studio – Interaktive Einführungen.

Änderungen im Formular-Designer für geräteübergreifende Anwendungen

ChangesFormDesigner.png

Das neue geräteübergreifende Formular ist ein allgemeiner Designer für alle Plattformen (Desktop und mobil) mit einem mit Stilen versehenen Master-Formular und mehreren verfügbaren Ansichten für verschiedene Standards und Layouts. Siehe Formular-Designer.

Der Designer wird mit dem Standardstil, dem Win32-Master-Stil, geöffnet. Das Dropdown-Menü Stil ermöglicht das Ändern des Master-Formularstils; sie können Windows, OS X, iOS und Android auswählen. Die verfügbaren Komponenten und deren Eigenschaften ändern sich abhängig vom ausgewählten Stil.

Im Master-Formular sollten alle Komponenten platziert und entsprechend bearbeitet werden. Für den Entwurf von mobilen Anwendungen empfehlen wir, dass Sie die Schritte in folgendem Tutorial befolgen: Mobile-Tutorial: Verwenden von Layouts zur Ausrichtung unterschiedlicher Formulargrößen (iOS und Android).

Mit dem Dropdown-Menü Ansichten können Sie Ihrem Projekt vordefinierte Formulare, wie Android 7 Tablet oder iPhone 4 hinzufügen. Nach Auswahl einer Ansicht wird Ihrem Projektordner das entsprechende Formular und der Codeseite eine Verweisklausel hinzugefügt. Alle Ansichten sind vom Master-Formular abgeleitet. Siehe Hinzufügen von Ansichten zu einem geräteübergreifenden Projekt.

Anhand der Ansichten können Sie Ihr Projekt für ein bestimmtes vordefiniertes Layout anpassen. Die verfügbaren Ansichten berücksichtigen die Anzeigeauflösung des Zielgeräts. Wenn Sie Ihr Projekt für eine bestimmte Auflösung erstellen möchten, können Sie eine angepassten Ansicht hinzufügen. Weitere Informationen finden Sie unter Hinzufügen einer angepassten Ansicht zur Ansichtsauswahl.

Beim Ausführen Ihres Projekts für ein bestimmtes Ziel werden nur die entsprechenden Ansichten in Ihre Anwendung einbezogen.

Projektdateien werden automatisch dem Bereitstellungs-Manager hinzugefügt

Wenn Sie in der Projektverwaltung Ihrem Projekt eine Datei hinzufügen oder eine Datei daraus entfernen, fügt der Bereitstellungs-Manager diese Datei jetzt automatisch hinzu bzw. entfernt sie. Sie können Mediendateien, Textdateien oder eine beliebige Ressourcendatei hinzufügen, die mit Ihrer Anwendung bereitgestellt werden soll.

Für einige Dateien, z. B. Datenbankdateien, ist eine Sonderbehandlung erforderlich, weil dafür Datenbanktreiber oder Lizenzdateien (Weitere Dateien) benötigt werden. Für solche Dateien wird das Dialogfeld Weitere Dateien automatisch geöffnet, damit Sie die benötigten Dateien auswählen können, die der Bereitstellungsliste hinzugefügt werden sollen.

Das Dialogfeld Weitere Dateien enthält eine neue Option (das Kontrollkästchen Automatisch anzeigen, falls erforderlich), mit der Sie das automatische Hinzufügen/Löschen von Dateien im Bereitstellungs-Manager deaktivieren können. Wenn Sie diese Option deaktivieren, wird das Dialogfeld Weitere Dateien nicht mehr automatisch von RAD Studio angezeigt, sondern Sie müssen das Dialogfeld Weitere Dateien manuell öffnen, um weitere Dateien hinzuzufügen oder zu entfernen.

Berechtigungsliste für Android hinzugefügt

Für Android wurde die Seite Berechtigungsliste hinzugefügt (von iOS und Mac OS X wird die Berechtigungsliste weiterhin unterstützt). Mit Projekt > Optionen > Berechtigungsliste können Sie auf die Berechtigungsliste zugreifen.

Sie können Berechtigungen für Ihre Android-Apps festlegen. Beispielsweise können Sie Ihrer mobilen Anwendung Werbeanzeigen hinzufügen oder zulassen, dass Ihre Anwendung Daten von Remote-Servern empfängt, indem Sie die Unterstützung für Remote-Push-Benachrichtigungen verwenden.

Weitere Informationen finden Sie unter Berechtigungsliste.

Unterstützung für Startbildschirme auf Android

Sie können jetzt einen Startbildschirm für Ihre Android-Anwendungen konfigurieren. Wählen Sie Projekt > Optionen > Anwendung, aktivieren Sie Startbild einbeziehen, geben Sie den Pfad zu Ihrem Startbild ein, und konfigurieren Sie die Ausrichtung des Startbildschirms.

Weitere Informationen finden Sie unter Startbilder und Verwenden von 9-Patch-Grafiken in Startbildschirmen.

Git-Versionskontrollsystem in die IDE integriert

RAD Studio unterstützt jetzt das Git-Versionskontrollsystem für Ihre Projekte, die der Versionskontrolle unterliegen, und der IDE wurden einige neue Subversion-Funktionen hinzugefügt.

  • In der Versionsverwaltung sind jetzt integrierte Informationen der Git-Versionskontrolle aus Ihrem lokalen Repository enthalten. Nach dem Öffnen eines Projekts, das sich unter der Versionskontrolle von Git oder Subversion befindet, finden Sie auf den Registerkarten Inhalt, Information und Unterschiede mehr Informationen.
  • Wenn Sie die Subversion-Unterstützung verwenden, können Sie jetzt:
    • Mit den neuen Beschriftungen für Subversion-Änderungslisten die geänderten Dateien vor der Übergabe an Ihr Remote-Repository gruppieren.
    • Mit dem neuen SVN-Dialogfeld Zusammenführen die Zusammenführung Ihrer Änderungen in der IDE starten.
    • Mit der neuen Subversion-Funktion zum Wechseln von Zweigen Ihre lokalen Repository-Änderungen auf einen neuen Zweig Ihres Remote-Repository richten.

Weitere Informationen finden Sie unter:

Für die Delphi-Personality ist jetzt ein SDK für OS X und den iOS-Simulator erforderlich

Ein SDK (Software Development Kit) ist jetzt für die Entwicklung von Delphi-Anwendungen für OS X und iOS erforderlich (dies war früher nur für C++ erforderlich).

Ein SDK (Software Development Kit) stellt eine Reihe von Dateien zum Erstellen von Anwendungen für eine Zielplattform bereit und legt den tatsächlichen Speicherort dieser Dateien auf der Zielplattform oder einer Zwischenplattform, welche die Zielplattform unterstützt, fest (beispielsweise stellt Mac OS X SDKs für iOS bereit).

Anleitungen zum Hinzufügen eines neuen Mac OS X- oder iOS-SDK (für Geräte oder den Simulator) zu Ihrem Entwicklungssystem von einem Mac aus finden Sie unter Hinzufügen von SDKs für Mac OS X oder iOS.

Hinzufügen von Java-Bibliotheken zu Ihren Anwendungen für Android in der Projektverwaltung

In XE6 mussten Sie zum Hinzufügen einer benutzerdefinierten Java-Bibliothek zu Ihrer Anwendung eine classes.dex-Datei manuell erstellen und bereitstellen.

In XE7 können Sie Ihre benutzerdefinierten Java-Bibliotheken einfach in der Projektverwaltung mit dem neuen Knoten Bibliotheken, der sich im Android-Plattformknoten befindet, hinzufügen. Siehe Hinzufügen von Java-Bibliotheken zu Ihren Anwendungen in der Projektverwaltung.

Erstellen von Metropolis-UI-Anwendungen

In XE7 können Sie keine Metropolis-UI-Anwendungen mehr direkt über das Menü Datei > Neu erstellen. Wählen Sie stattdessen einen der folgenden Befehle, um eine neue Metropolis-UI-Anwendung zu erstellen:

Änderungen der Laufzeitbibliothek (RTL) für XE7

RTL-API zur Unterstützung von Bluetooth und Classic Bluetooth für App-Tethering

Die RTL enthält eine neue Unit, System.Bluetooth, die eine geräteübergreifende API für den Zugriff auf die Bluetooth-Funktionen des Geräts, auf dem Ihre Anwendung ausgeführt wird, bereitstellt. Diese neue Unit stellt die Unterstützung für Classic Bluetooth und Bluetooth Low Energy bereit. Siehe Verwenden von Bluetooth.

Zusätzlich zu IP-Verbindungen können Sie jetzt mit App-Tethering Ihre Anwendung über Classic Bluetooth verbinden.

Die folgende Tabelle enthält eine Übersicht über die Plattformunterstützung der App-Tethering-Verbindungen (IP und Classic Bluetooth) und der RTL-API für Bluetooth:

Plattform App-Tethering RTL-API
IP Classic Bluetooth Bluetooth Low Energy
Client Server
Windows
YesC++11Feature.png
YesC++11Feature.png

8+

Mac OS X
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
10.9+
iOS
YesC++11Feature.png

5+

6+

Android
YesC++11Feature.png
YesC++11Feature.png

4.3+

App-Tethering unterstützt Verbindungen außerhalb des Subnetzes

In XE6 suchten die Methoden zum Ermitteln von Remote-Geräten zum Herstellen einer Verbindung, AutoConnect und DiscoverManagers, nach Geräten im Subnetz des LAN (Local Area Network), in dem sich das Gerät mit Ihrer Anwendung befand. Daher war es nicht möglich, per App-Tethering Geräte in unterschiedlichen Subnetzen desselben LAN oder Geräte mit völlig anderen IP-Adressen zu verbinden.

In XE7 enthalten beide Methoden einen optionalen Parameter, Target, mit dem Sie dieses Verhalten überschreiben und eine Ziel-IP-Adresse oder ein Subnetz für die Suche nach Remote-Managern angeben können. Siehe Herstellen von Verbindungen zu Anwendungen außerhalb Ihres Subnetzes.

Parallel Programming Library

Wenn Sie die neue Unit System.Threading in Ihre Apps einbeziehen, können Sie die neue Parallel Programming Library verwenden.

Weitere Informationen finden Sie unter Verwenden der Parallel Programming Library.

XML-Verbesserungen

Neuer plattformübergreifender XML-Anbieter zur Steigerung der Leistung

Zusätzlich zu MSXML und ADOM steht in RAD Studio nun ein neuer XML-Anbieter zur Verfügung: OmniXML. Der plattformübergreifende XML-Anbieter OmniXML zeigt in Bezug auf die Leistung weit bessere Ergebnisse als der alternative plattformübergreifende XML-Anbieter ADOM. Der OmniXML-XML-Anbieter in RAD Studio basiert auf OmniXML, enthält aber weitere Funktionen, wie z. B. Unterstützung für Namespaces, und ist mit SOAP kompatibel.

Neues System für die Auswahl von XML-Anbietern

Die RTL stellt ein neues System für die Definition des zu verwendenden XML-Anbieters bereit; siehe die Beschreibung unter Das Dokumentobjektmodell verwenden.

In dem neuen System für die Auswahl des XML-Anbieters ist MSXML als Standard-XML-Anbieter vorgesehen. MSXML unterstützt nur die Windows-Plattform. Wenn Sie keinen anderen XML-Anbieter festlegen, unterstützt Ihre Anwendung XML nur auf Windows-Plattformen, und beim Ausführen Ihrer Anwendung auf anderen Plattformen erhalten Sie eine Laufzeit-Exception.

Fügen Sie einen Verweis auf die Unit des Anbieters in die Unit ein, in der Sie die RTL-XML-Funktionen, wie z. B. die Klasse TXMLDocument, verwenden, um einen anderen XML-Anbieter festzulegen. Wenn Sie mehrere XML-Anbieter-Units hinzufügen, wird die erste referenzierte Unit als XML-Anbieter verwendet. Sie können den Wert der globalen Variable DefaultDOMVendor in die globale Variable des Ziel-XML-Anbieters ändern, um dieses Verhalten zu überschreiben.

Hinweis: Sie können die Unit und die globale Variable der XML-Anbieter in der Liste der integrierten XML-Anbieter nachschlagen.

Wenn Sie die Komponente TXMLDocument verwenden, können Sie einen XML-Anbieter mit der Eigenschaft DOMVendor auswählen. Wenn Sie den Wert von DOMVendor ändern, wird die Unit, die diese Komponente enthält, so konfiguriert, dass der angegebene XML-Anbieter verwendet wird und Sie keine Unit-Referenzen oder die globale Variable DefaultDOMVendor manuell anpassen müssen.

Mit der bedingten Compilierung können Sie verschiedene XML-Anbieter für jede Plattform (wie MSXML für Windows und OmniXML für andere Plattformen) festlegen:

Neue Unit für die Webcodierung und -decodierung

Die RTL enthält die neue Unit System.NetEncoding, die Codierungs- und Decodierungsfunktionen für Base64, HTML und URL bereitstellt.

In der folgenden Tabelle sind die Zuordnungen von Methoden aus früheren Versionen von RAD Studio zu den Methoden in System.NetEncoding aufgeführt:

XE6 XE7

Soap.EncdDecd.EncodeBase64

TNetEncoding.Base64.EncodeBytesToString

Soap.EncdDecd.DecodeBase64

TNetEncoding.Base64.DecodeStringToBytes

Soap.EncdDecd.EncodeStream
Soap.EncdDecd.EncodeString

TNetEncoding.Base64.Encode

Soap.EncdDecd.DecodeStream
Soap.EncdDecd.DecodeString

TNetEncoding.Base64.Decode

Web.HTTPApp.HTMLEncode

TNetEncoding.HTML.Encode

Web.HTTPApp.HTMLDecode

TNetEncoding.HTML.Decode

Web.HTTPApp.HTTPEncode

TNetEncoding.URL.Encode

Web.HTTPApp.HTTPDecode

TNetEncoding.URL.Decode

Einige früher unterstützte Methoden unterstützen AnsiString und UnicodeString oder nur AnsiString. Die neuen XE7-Methoden unterstützen nur UnicodeString. Um die neuen Methoden in XE7 mit AnsiString zu verwenden, müssen Sie den Typ des Eingabe-Strings und des Ergebnisses der Methode wie folgt umwandeln:

Delphi:

AnsiStringResult := AnsiString(NewMethod(string(AnsiStringInput)));

C++:

AnsiStringResult = AnsiString(NewMethod(UnicodeString(AnsiStringInput)));

PCRE 8.35 für Windows und mobile Plattformen

Die PCRE-Bibliothek, die die Unterstützung für mit Perl kompatible reguläre Ausdrücke bereitstellt, wurde in XE7 aktualisiert:

Plattform XE6 XE7

32-Bit-Windows
64-Bit-Windows

7.9
(2009-04-11)

8.35
(2014-04-04)

iOS-Gerät
Android

8.31
(2012-07-06)

Mac OS X
iOS-Simulator

Diese Plattformen verwenden die auf dem System verfügbare PCRE-Version.

PCRE 8.35 akzeptiert keine Gruppennamen, die mit einer Ziffer beginnen

In XE6 konnten Sie Gruppen mit Namen mit einer beliebigen Kombination von Ziffern und Buchstaben, wie "1" oder "2nd", definieren. Zum Beispiel: "(?<1>\w+)\s+(?<2>fish)\s*".

In XE7, das die neueste Version der PCRE-Bibliothek enthält, dürfen Gruppennamen nicht mehr mit einer Ziffer beginnen. Sie dürfen also Gruppennamen, wie "1" oder "2nd", nicht mehr verwenden. Sie können aber weiterhin Ziffern im Namen verwenden, solange sie nicht das erste Zeichen des Namens sind, z. B. ist "g1" oder "my2cents" zulässig.

zlib 1.2.8

RAD Studio enthält eine neue Version der zlib-Komprimierungsbibliothek: 1.2.8.

Änderungen der VCL für XE7

Neue Komponente für Windows-Taskleisten-Sprunglisten

Windows 7 und spätere Versionen von Windows enthalten ein Kontextmenü für Elemente in der Taskleiste, anhand dessen Benutzer schnell auf zuletzt verwendete Dateien zugreifen können, die mit Ihrer Anwendung geöffnet werden sollen. In XE7 können Sie mit der Komponente TJumpList die Informationen der Sprungliste für Ihre Anwendung anpassen.

Sie können zuletzt und häufig verwendete Dateien aus- oder einblenden, Aufgabeeinträge bereitstellen, damit Benutzer schnell auf allgemeine Aufgaben Ihrer Anwendung zugreifen können, oder den Sprunglisten für Ihre Anwendung vollständig benutzerdefinierte Kategorien und Einträge hinzufügen.

XE7JumpLists.png

Weitere Informationen über zugehörige Funktionen finden Sie unter VCL-Taskleisten.

Änderungen von C++-Compilern für XE7

Neue Versionen der Boost- und Dinkumware-Bibliotheken für Win64

Neue Versionen der Boost- und Dinkumware-Bibliotheken sind jetzt installiert (nur für Win64).

Neue iOS-Header hinzugefügt (libcplusplus)

Die libcplusplus-iOS-Header werden jetzt in RAD Studio verwendet. Diese aktualisierten Header bieten weitere C++11-Features, wie "Atomics" und Standardinitialisierung von Vektoren.

Befehl "Navigieren zu"

RAD Studio unterstützt jetzt den Befehl Navigieren zu, der den Befehlen Suchen (C++), die früher im Kontextmenü des Quelltext-Editors verfügbar waren, hinzugefügt wurde. Der Befehl Navigieren zu durchsucht das gesamte aktive Projekt nach Bezeichnern und Konstanten, die den angegebenen Suchkriterien entsprechen. Weitere Informationen finden Sie unter:

Für Delphi-Packages können in Ausgabe - C/C++-Optionen keine Namespaces mehr ausgewählt werden

Die Optionen für Erzeugung der C/C++-Ausgabedatei sind für Delphi-Packages und ausführbare Dateien unterschiedlich. Für Packages sind keine Auswahlmöglichkeiten verfügbar (für .exe-Dateien dagegen 11):

  • DCUs erzeugen (wenn Sie das Package nicht für C++ verwenden möchten)
  • Alle C++Builder-Dateien erzeugen (auch Package-Libs)

Durch diese Änderung werden potenzielle Namespace-Probleme beseitigt, wenn das Delphi-Package in C++-Anwendungen verwendet wird.

Änderungen von Delphi-Compilern für XE7

String-ähnliche Operationen werden für dynamische Arrays unterstützt

  • Dynamische Arrays können ähnlich wie Strings bearbeitet werden. Zum Beispiel:
var
  A: array of integer;
  B: TBytes = [1,2,3,4]; //Initialization can be done from declaration
begin
  ...
  A:=[1,2,3]; // assignation using constant array
  A:=A+[4,5]; // addition - A will become [1,2,3,4,5]
  ...
end;
  • String-ähnliche Unterstützungsroutinen wurden hinzugefügt:

I. Die Funktion Insert fügt ein dynamisches Array am Positionsindex ein. Die Funktion gibt das geänderte Array zurück.

var
  A: array of integer;
begin
  ...
  A:=[1,2,3,4];
  Insert(5,A,2); // A will become [1,2,5,3,4]
  ...
end;

II. Die Funktion Delete löscht alle Elemente aus einem dynamischen Array und gibt das geänderte Array zurück:

var
  A: array of integer;
begin
  ...
  A:=[1,2,3,4];
  Delete(A,1,2); //A will become [1,4]
  ...
end;

III. Mit der Funktion Concat können zwei verschiedene dynamische Arrays zusammengefügt (verkettet) werden:

  A := Concat([1,2,3],[4,5,6]); //A will become [1,2,3,4,5,6]

Änderungen von Datenbanken und Konnektivität für XE7

Änderungen für FireDAC

  • Neuer IBLite-Treiber für Desktop- und mobile Anwendungen basierend auf dem vorhandenen IB-Treiber
    • Neue DriverID = 'IBLite'
    • Neue TFDPhysIBDriverLink.Lite-Eigenschaft
  • Unterstützung für native Zeitüberschreitungen von DBMS-API-Befehlen
    • Unterstützt von FireDAC-Treibern: Advantage, Informix und SQL Server
  • FireDAC-Verbindungsparameter werden jetzt im Objektinspektor als Records angezeigt.
    • TFDConnection.Params hat jetzt die Basisklasse TFDConnectionDefParams.
    • Abhängig vom TFDConnection.DriverName stammen die Parameter aus TFDPhysXxxConnectionDefParams, wobei Xxx die Treiber-ID darstellt.
  • Erweiterungen des Daten-Explorers
    • Primärschlüssel und -felder werden angezeigt.
    • Fremdschlüssel und -felder werden angezeigt.
    • Sequenzen/Generatoren werden angezeigt.
  • Funktionen zum Schreiben von Metadaten
    • Neue Methode TFDTable.CreateTable
    • Neue Option poCreateDest von TFDBatchMove.Options
    • Neue Methoden IFDPhysCommandGenerator.GenerateCreateTable, GenerateDropTable

Enterprise Mobility Service

Die neuen Enterprise Mobility Services (EMS) bieten eine Unternehmensplattform für mobile Anwendungen, die in der Cloud oder lokal verwendet werden kann, und stellen REST-APIs und Unternehmensdatenbankdaten bereit.

EMS wurde entwickelt, um Benutzern eine umfassende Lösung mit einem REST-API-Server, Remote-Datenbankzugriff und der Verfolgung der Lösungsverwendung zu bieten. In der EMS-Datenbank wird die Aktivität der Benutzer gespeichert, und die EMS-Konsole erstellt auf Basis dieser Informationen Analysen.

Die Hauptkomponenten in der EMS-Architektur sind:

  • Der EMS-Server ist die Komponente, die die Kernfunktionen und -dienste für die EMS-Clients bereitstellt. Der EMS-Server verwaltet die EMS-Datenbank, in der Informationen, wie registrierte Benutzer und die Aktivität Ihrer Anwendung, gespeichert werden (Erstellen von Analysen).
  • Über die REST-API wird auf die Daten in der EMS-Datenbank zugegriffen. EMS-Clients können auf die Informationen in der EMS-Datenbank über Aufrufe der in REST integrierten Administrative API des EMS-Servers zugreifen. Sie können die Funktionalität des vorhandenen EMS-Servers erweitern, indem Sie eigene EMS-Packages erstellen und diese Ressourcen beim EMS-Server registrieren.
  • EMS-Clients sind mobile oder Desktop-Anwendungen, die auf die beim EMS-Server registrierten Ressourcen über die REST-API zugreifen können. FireDAC wird von EMS unterstützt, deshalb können Sie EMS-FireDAC-Client-Anwendungen erstellen.
  • Die EMS-Konsole liest die Informationen in der EMS-Datenbank und zeigt sie in Ihrem Standardbrowser an. Von der EMS-Konsole werden die Liste der Benutzer und Gruppen sowie Diagramme der in der EMS-Datenbank gespeicherten Analysen angezeigt.

In XE7 wurden für EMS in der IDE neue Komponenten, wie TEMSProvider oder TEMSFireDACClient (zur Unterstützung von FireDAC in Client-Anwendungen), hinzugefügt. Sie können auch vorhandene BaaS-Komponenten, wie TBackendQuery, in Ihren EMS-Client-Anwendungen verwenden.

EMS Update includes stability and performance improvements in the EMS-Server and EMS-Konsolenserver.

  • Connection pooling. You can now connect using FireDAC Connection pooling to reduce the latency establishing the database connection.
  • Zulassen einer Maximalanzahl an EMS-Benutzern und HTTP-Verbindungen zum EMS-Server.
  • Cross-origin resource sharing for the Web files resources of the EMS-Konsolenserver.

Parse-Provider-Unterstützung für Android-Anwendungen mit Push-Benachrichtigungen

Das REST-BaaS-Framework von RAD Studio unterstützt jetzt Parse-BaaS als Provider für Android-Anwendungen mit Push-Benachrichtigungen. Früher konnten Sie den Parse-Provider nur für iOS-Apps von RAD Studio verwenden.

Registrieren Sie Ihre RAD Studio-Anwendung als Android-Parse-Client mit Push-Benachrichtigungen, und konfigurieren Sie Ihren Parse-Cloud-Dienst, um den Empfang von Push-Benachrichtigungen vom Parse-BaaS-Provider zu starten.

Weitere Informationen finden Sie unter Mobile-Tutorial: Verwenden von Remote-Mitteilungen (iOS und Android) und Erstellen der Android-Push-Anwendung.

BDE wurde entfernt

BDE, unsere älteste Datenbanklösung, ist veraltet und wurde aus RAD Studio entfernt. Dies gilt auch für die Units Bde.DBBdeWeb und Bde.DBTables. Verwenden Sie stattdessen neuere Datenbanktechnologien, wie FireDAC. Hinweise zur Migration finden unter Migrieren von BDE-Anwendungen nach FireDAC.

Es ist aber ein externes Installationsprogramm auf der Website für registrierte Benutzer erhältlich, falls Sie mit der BDE weiterarbeiten müssen: http://cc.embarcadero.com/myreg
Die BDE-Hilfe verbleibt in der XE7-Hilfe.

Erweiterungen des Daten-Explorers

Im Daten-Explorer werden jetzt die folgenden Knoten für FireDAC-Anwendungen angezeigt:

  • Primärschlüssel und deren Felder
  • Fremdschlüssel und deren Felder
  • Generatoren

DataSnap iOS Connector Uses ARC Now

In order to support iOS 7 and later, a DataSnap iOS Connector must use ARC.

If you have a working connector and you want your connector to support iOS 7 and later, you must update your Objective-C code so that it uses ARC. See the Transitioning to ARC Release Notes (EN) by Apple for help.

Im Thema Einführung in mobile DataSnap-Konnektoren für iOS Objective-C wird gezeigt, wie ein neuer DataSnap-iOS-Konnektor von Grund auf unter Verwendung von ARC neu erstellt wird.

Änderungen der Online-Hilfe für Datenbanken

Änderungen des Debuggers für XE7

Neue App "PAServer Manager" auf dem Mac

Die neue Mac-GUI-App PAServer Manager wird jetzt mit PAServer (dem Platform Assistant-Server) ausgeliefert. PAServer Manager ermöglicht das Erstellen und Verwalten vom mehreren Instanzen von PAServer.

Weitere Informationen finden Sie unter:

MultiByte-Unterstützung für mobile Debugger

  • Die Debugger für die mobilen Plattformen (iOS und Android) unterstützen jetzt Unicode-Zeichen und -Strings mit UTF8-, UTF16- und UTF32-Codierungen.
  • In Dateinamen von iOS-Apps unterstützten die Debugger jetzt internationale Zeichen (Unicode, wie z. B. hélène und éléments).

Allgemeine Informationen finden Sie unter Debuggen von geräteübergreifenden Anwendungen.

Binäre Datei "info.plist" bereitgestellt

Die Datei "info.plist", die für Mac- und iOS-Apps erforderlich ist, wird weiterhin als XML-Datei mit Schlüsseln und zugehörigen Werten generiert.

Für die Bereitstellung wird die XML-Datei aber in das Binärformat konvertiert. Weitere Informationen über den Inhalt der Datei "info.plist" finden Sie unter Versionsinformationen.

Änderungen der Befehlszeilenhilfsprogramme für XE7

Java2OP.exe: Neuer Generator für native Android-Brückendateien

Beim Zulassen der Verwendung benutzerdefinierter Java-Bibliotheken unter Android mussten Sie früher manuell eine native Brückendatei aus einer Java-Klassendatei erstellen.

RAD Studio enthält ein neues Tool, Java2OP.exe (Java to Object Pascal), das die Erstellung einer nativen Brückendatei für Delphi-Anwendungen automatisiert. Mit diesem neuen Tool können Sie eine Brückendatei aus einem Satz JAR- oder Java-Klassendateien oder aus einer bestimmten Teilmenge der Android-API erstellen.

Für dieses Release ist Java2OP.exe auf der Website für registrierte Benutzer verfügbar: http://cc.embarcadero.com/myreg (EN)

Änderungen der Anwendungsbeispiele für XE7

Die mit dem Produkt ausgelieferten Anwendungsbeispiele wurden umgestaltet, und einige Anwendungsbeispiele wurden entfernt. Neuere Beispiele, die für die geräteübergreifende Entwicklung relevant sind, werden mitgeliefert, aber ältere Beispiele mit geringerer Relevanz wurden entfernt.

Weitere Informationen über Anwendungsbeispiele, die im Produkt enthalten sind, finden Sie unter:

Änderungen der Online-Hilfe

Wichtige neue Seiten:

Änderungen der Online-Hilfe:

Siehe auch