Neuerungen in Appmethod 1.15

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Appmethod 1.15 enthält viele neue und verbesserte Features. Die Highlights werden im Folgenden beschrieben.

Inhaltsverzeichnis

FireMonkey-Änderungen für 1.15

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 Hinzufügen von Werbediensten zu mobilen Apps.

Neues TMultiView-Steuerelement

FireMonkey unterstützt jetzt die 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 Appmethod 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.

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.

Unterstützung für mehrere Bildschirme

Falls Ihre FireMonkey-Anwendung auf mehreren Bildschirmen ausgeführt wird, verwaltet TScreen eine Liste der Bildschirme und ihrer Größen und stellt Methoden zum Abrufen des Bildschirms bereit, der ein Formular oder einen Punkt enthält, sodass Sie das Layout Ihrer Benutzeroberfläche effektiv auf mehreren aktiven Bildschirmen verwalten können.

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.

Eigenschaft "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 = tpBottom für iOS-Apps
  • TTabPosition = tpTop 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

FMX.ListView.TListView enthält die Eigenschaft PulltoRefresh, 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".

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 von mobilen Apps und sind für Gesten optimiert. Die Stile befinden sich 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.

Änderungen des "Platform Assistant"

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.

Neuer 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 1.15

Appmethod – Interaktive Einführungen

Dieses Release enthält eine neue Technologie zum Bereitstellen von interaktiven Einführungen, um das Erlernen von Appmethod 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 Appmethod – 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 daraus entfernen, fügt der Bereitstellungs-Manager diese Datei 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 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 (die Berechtigungsliste wurde von iOS und Mac OS X bereits 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 Ihren Startbildschirm, geben Sie den Pfad zu Ihrem Startbild ein, und konfigurieren Sie die Ausrichtung des Startbildschirms.

Weitere Informationen finden Sie unter Startbilder.

Git-Versionskontrollsystem in die IDE integriert

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

  • Auf den Registerkarten 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 Object Pascal-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 Object Pascal-Anwendungen für OS X und iOS 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, iOS-Geräte oder iOS-Simulator.

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

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

In 1.15 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.

Änderungen der Laufzeitbibliothek (RTL) für 1.15

RTL-API für Bluetooth

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 bietet die Unterstützung für Classic Bluetooth und Bluetooth Low Energy. Siehe Verwenden von Bluetooth.

App-Tethering unterstützt Classic Bluetooth

Sie können jetzt mit App-Tethering Ihre Anwendung nicht nur über das TCP/IP-Netzwerkprotokoll, sondern auch über das Classic Bluetooth-Protokoll mit anderen Anwendungen verbinden.

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

In 1.14 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 1.15 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 Verbinden 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.

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 Appmethod zu den Methoden in System.NetEncoding aufgeführt:

1.14 1.15

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 1.15-Methoden unterstützen nur UnicodeString. Um die neuen Methoden in 1.15 mit AnsiString zu verwenden, müssen Sie den Typ des Eingabe-Strings und des Ergebnisses der Methode wie folgt umwandeln:

Object Pascal:

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

C++:

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

XML-Verbesserungen

Neuer plattformübergreifender XML-Anbieter zur Steigerung der Leistung

Zusätzlich zu MSXML und ADOM steht in Appmethod 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 Appmethod 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 zur Festlegung des zu verwendenden XML-Anbieters bereit.

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 (z. B. MSXML für Windows und OmniXML für andere Plattformen) festlegen:

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 1.15 aktualisiert:

Plattform 1.14 1.15

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 1.14 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 1.15, 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

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

Änderungen des C++-Compilers für 1.15

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 Appmethod verwendet. Diese aktualisierten Header bieten weitere C++11-Features, wie "Atomics" und Standardinitialisierung von Vektoren.

Befehl "Navigieren zu"

Appmethod unterstützt jetzt den Befehl Navigieren zu, der den Befehlen Suchen (C++) des Kontextmenüs des Quelltext-Editors 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 Appmethod C++-Dateien erzeugen (auch Package-Libs)

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

Änderungen des Object Pascal-Compilers für 1.15

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

  • Dynamische Arrays können genauso wie Strings hinzugefügt werden.

Zum Beispiel:

A: array of integer;
A:=[1,2,3];
A:=A+[4,5]; //A will become [1,2,3,4,5]
var B: TBytes = [1,2,3,4]; //Initialization can be done from declaration
  • Die Funktion Insert fügt ein dynamisches Array am Positionsindex ein. Die Funktion gibt das geänderte Array zurück.
insert(newEntry, A, index); // insert new element or array into A at position index
A: array of integer;
A:=[1,2,3,4];
insert(5,A,2); // A will become [1,2,5,3,4]
  • Die Funktion Delete löscht alle Elemente aus einem dynamischen Array und gibt das geänderte Array zurück:
Delete(A,index,noElem); //deletes noElem elements from A starting at index
A: array of integer;
A:=[1,2,3,4];
Delete(A,1,2); //A will become [1,4]
  • 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 1.15

Enterprise Mobility Service

Der neue Enterprise Mobility Service (EMS) bietet eine Unternehmensplattform für mobile Anwendungen, die in der Cloud oder lokal verwendet werden kann, und stellt eigene 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 Geräte und Benutzer gespeichert, und der EMS-Server 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, Geräte und die Aktivität Ihrer Anwendung (Erstellen von Analysen), gespeichert werden.
  • Ü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 oder FireDAC-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, der Geräte und der Gruppen sowie Diagramme der in der EMS-Datenbank gespeicherten Analysen angezeigt.

Der IDE wurden neue Komponenten für EMS, wie z. B. REST.Backend.EMSProvider.TEMSProvider oder REST.Backend.EMSFireDAC.TEMSFireDACClient (zur Unterstützung von FireDAC in Ihren Client-Anwendungen), hinzugefügt. Sie können auch vorhandene BaaS-Komponenten, wie TBackendQuery, in Ihren EMS-Client-Anwendungen verwenden.

EMS-Themen

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

Das REST-BaaS-Framework von Appmethod 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 Appmethod verwenden.

Registrieren Sie Ihre Appmethod-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.

Änderungen für FireDAC

  • Neuer IBLite-Treiber für Desktop- und mobile Anwendungen basierend auf dem vorhandenen IB-Treiber
    • Neue Treiber-ID (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 deren Felder werden angezeigt.
    • Fremdschlüssel und deren 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

Erweiterungen des Daten-Explorers

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

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

Änderungen des Debuggers für 1.15

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).

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 Anwendungsbeispiele für 1.15

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. Die entfernten Beispiele werden nach der Veröffentlichung von 1.15 in einem eigenen SourceForge-Repository zur Verfügung gestellt.

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

Siehe auch