Compilieren und Erzeugen von geräteübergreifenden Anwendungen

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Geräteübergreifende Anwendungen - Index


Im Allgemeinen erzeugen und compilieren Sie plattformübergreifende Anwendungen in der IDE genauso wie native Win32-Anwendungen in Appmethod.

Grundvoraussetzungen für plattformübergreifende Anwendungen

Vor dem Erzeugen oder Compilieren einer plattformübergreifenden Anwendung für eine andere Plattform als 32-Bit-Windows müssen Sie Ihre plattformübergreifende Anwendung konfigurieren:

  1. Fügen Sie das plattformübergreifende Ziel hinzu, und aktivieren Sie die Zielplattform.
  2. Legen Sie ein Verbindungsprofil an, wenn Sie eine Anwendung für 64-Bit-Windows (auf einem Entwicklungs-PC mit 32-Bit-Windows), Mac OS X oder iOS erstellen.
    • Wenn ein Verbindungsprofil erforderlich ist, muss der Entwicklungs-PC auch mit dem Zielcomputer verbunden sein, auf dem der Platform Assistant ausgeführt wird.
  3. Wenn Sie Anwendungen für Mac OS X, iOS-Geräte oder Android erstellen, dann müssen Sie Appmethod ein SDK hinzufügen. Siehe Hinzufügen von SDKs für Mac OS X oder iOS-Geräte oder Hinzufügen von Android-SDKs.

Für die Anwendungsentwicklung für lokale 32-Bit- und 64-Bit-Windows ist diese Konfiguration nicht erforderlich. Wenn Sie diese Konfiguration allerdings für Remote-Zielplattformen für 32-Bit- und 64-Bit-Windows durchführen, können Sie den Platform Assistant (erleichtert das Debugging) und den Bereitstellungs-Manager (erleichtert die Bereitstellung von Anwendungen) verwenden.

Ausgabedateien für plattformübergreifende Ziele

Ausgabedateien für Win64-Anwendungen haben dieselben Namen wie Ausgabedateien für Win32-Anwendungen. Die Win64-Dateien werden aber in eine anderes Verzeichnis als die Win32-Dateien ausgegeben.

Ausgabedateien für Anwendungen, die nicht unter Windows als Zielplattform ausgeführt werden sollen, haben normalerweise dieselben Dateinamen wie Win32-Dateien, aber plattformspezifische Dateierweiterungen. Beispielsweise hat eine statische Bibliothek (.lib auf Win32 und Win64) die Dateierweiterung .a für OS X und iOS. Siehe auch Erweiterungen von mit Appmethod erzeugten Dateien.

Packages und gemeinsame Bibliotheken

Object Pascal erzeugt Bibliotheken, die für die jeweilige Zielplattfrom konzipiert sind:

  • Auf 32-Bit- und 64-Bit-Windows haben Packages und Bibliotheken dieselbe Dateierweiterung .bpl- bzw. .dll-Dateien.
  • Auf Mac OS X haben Packages und (dynamische) Bibliotheken die Dateierweiterung .dylib. Das Ausgabeverzeichnis auf dem Mac wird von der Umgebungsvariable dylib_path gesteuert.
  • Auf der Plattform iOS-Gerät haben Packages und (statische) Bibliotheken die Dateierweiterung .a.
  • Auf der Plattform Android haben Packages und (dynamische) Bibliotheken die Dateierweiterung .so.

Die von der IDE verwendeten Namenskonventionen sind in der folgenden Tabelle zusammengefasst:

  Plattform      Package      Dynamische Bibliothek      Statische Bibliothek   
32-Bit-Windows

Datei.bpl in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Bpl

Sie können auf der Seite Object Pascal-Compiler des Dialogfeldes Projektoptionen mit der Option Package-Ausgabeverzeichnis ein Ausgabeverzeichnis angeben.

.dproj in C:\Benutzer\Name\Dokumente\Appmethod\Projects\Projektname

.pas, .dfm in C:\Benutzer\Name\Dokumente\Appmethod\Projects

.exe, .rsm in C:\Benutzer\Name\Dokumente\Appmethod\Projects\Projektname\Win32\Debug

Datei.dll

Datei.dll

64-Bit-Windows

Datei.bpl in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Bpl\Win64

Datei.dll

Datei.dll

Mac OS X

bplDatei.dylib in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Bpl\OSX32

libDatei.dylib

Datei.a

iOS-Gerät

Datei.a in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Dcp\iOSDevice

N/V

N/V

Android

Datei.a in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Dcp\Android

N/V

N/V

Beispiele für das aktuelle Release finden Sie unter: C:\Benutzer\Öffentlich\Öffentliche Dokumente\Appmethod\<n.n>\Samples. Die Beispiele finden Sie auch mit Start | Alle Programme | Embarcadero Appmethod | Beispiele.

32-Bit-Entwurfszeit-Packages sind für 64-Bit-Windows-Anwendungen erforderlich

Die IDE ist eine native 32-Bit-Windows-Anwendung. Daher müssen Sie, wenn Sie mit der IDE 64-Bit-Windows-Anwendungen entwerfen möchten, über die 32-Bit-Windows-Versionen aller Entwurfszeitkomponenten, Packages und Bibliotheken verfügen. Sie benötigen diese 32-Bit-Versionen für die Verwendung der Komponenten, Packages oder Bibliotheken in der IDE beim Entwurf. Wenn Ihre Anwendung eine bestimmte Komponente, ein Package oder eine Bibliothek nur zur Laufzeit verwendet, muss die 32-Bit-Version nicht in Ihrem Projekt vorhanden sein.

Die IDE speichert normalerweise Packages und Bibliotheken in plattformspezifischen Ordnern. Die Mac OS X-, iOS- und Android-Dateien haben andere Dateierweiterungen als die Windows-Versionen. Aber 32-Bit- und 64-Bit-Windows-Versionen der von der Appmethod-IDE erstellten Packages, Bibliotheken und Komponenten haben dieselben Datenamen und Dateierweiterungen; nur die Pfade sind unterschiedlich. Beim Speichern einer Komponente, eines Package oder einer Bibliothek wird die Ausgabedatei in ein plattformspezifisches Verzeichnis, wie z. B. Win64 oder OSX32 platziert.

Behandlung von plattformübergreifenden Dateien in der Projektverwaltung

Die Projektverwaltung aktiviert für Ihr Projekt die korrekten plattformspezifischen Dateitypen entsprechend der aktuell aktiven Zielplattform. Gleichzeitig deaktiviert die Projektverwaltung die Dateitypen, die inaktiven Zielplattformen in dem aktuellen Projekt zugeordnet sind.

Wenn die Zielplattform beispielsweise Win32 (die Vorgabe) ist, erzeugen Befehle in der Projektverwaltung (wie Erzeugen, Compilieren, Bereinigen) Win32-Dateien, wie .lib und .obj.

Nehmen Sie als weiteres Beispiel an, dass Ihr Multiplattform-Projekt die folgenden Dateitypen enthält:

  • Statische Bibliotheken:
    • .a (statische Bibliothek für die Mac-OS X-Zielplattform)
    • .lib (statische Bibliothek für die 32-Bit- und 64-Bit-Windows-Zielplattformen)
  • Objektdateien:
    • .o (Objektdatei für die Mac OS X-Zielplattform)
    • .obj (Objektdatei für die 32-Bit- und 64-Bit-Windows-Zielplattformen)

Die Projektverwaltung aktiviert und deaktiviert die Dateien folgendermaßen:

Zustand 32-Bit-Windows 64-Bit-Windows Mac OS X

Aktiviert

.lib .obj

.a .o

Deaktiviert

.a .o

.lib .obj

Siehe auch