Eine Anwendung mit 4D Commands erstellen

Seit mehreren Versionen von 4D wurden verschiedene Funktionen hinzugefügt, um Ihre eigene Aufbaufolge zu erstellen. Zum Beispiel,

  • die Erstellung eines „.zip“-Ordners,
  • das Hinzufügen von Informationen wie dem Copyright einer ausführbaren Datei oder einer „dll“,
  • die Erstellung einer „info.plist“-Datei,
  • und die neue build4D-Komponente.

 

Mit 4D v20 gibt es zwei neue Funktionen, mit denen die Erstellung einer Standalone- oder Client/Server-Anwendung in 4D Code abgeschlossen werden kann:

  • das Hinzufügen eines Symbols zu einer ausführbaren Datei
  • die Generierung der Deployment-Lizenzdatei für einen Server (nur OEM-Lizenz) oder eine Standalone-Anwendung.

Hinzufügen von Symbolen zu einer Exe

Unter Windows ermöglicht die Funktion setAppInfo der Klasse File das Hinzufügen von Informationen, wie z.B. das Unternehmen und das Copyright, zu einer ausführbaren Datei. Wir haben ein neues Attribut, „WinIcon“, hinzugefügt, um die zu verwendende „.ico“-Datei zu übergeben.

Hier ist ein Beispiel für den Code:

var $exeFile: 4D.File
var $iconFile: 4D.File

$exeFile:=Folder(fk desktop folder).file("myApp/myApp.exe")
$iconFile:=File("/RESOURCES/myApp.ico")

$exeFile.setAppInfo(New object("WinIcon"; $iconFile.path))

Falls Sie sich fragen, was ist mit macOS? Dies ist bereits seit der Erstellung der Funktion setAppInfo möglich.

Um ein Icon zu einer „.app“-Datei hinzuzufügen. Sie müssen die „.icns“-Datei in den „Resources“-Ordner der Anwendung legen. Dann fügen Sie einen Schlüssel „CFBundleIconFile“ in der Datei „info.plist“ mit dem Pfad des Icons relativ zum „Resources“-Ordner hinzu.

var $plistFile: 4D.File
$pListFile:= Folder(fk desktop folder).file("myApp.app/Contents/Info.plist")
$pListFile.setAppInfo(New object("CFBundleIconFile"; "myApp.icns"))

Bereitstellungslizenz generieren

Der neue Befehl Create deployment license ermöglicht die Erstellung der Lizenz für einen Server oder eine Einzelplatzanwendung. Dazu müssen Sie den generierten Anwendungsordner und die Lizenzdatei als Parameter übergeben, um die Deployment-Lizenz zu erzeugen.

Einzelbenutzer-Anwendung:

var $status: Object
var $application: 4D.File
var $license: 4D.File
$license:=Folder(fk licenses folder).file("4UUD200-xxx.license4D")
$application:=Folder(fk desktop folder).folder("myApp.app")
$status:=Createdeployment license($application; $license)

Server mit OEM-Lizenz:

var $status: Object
var $application: 4D.File
var $serverLicense; $oemLicense: 4D.File
$serverLicense:=Folder(fk licenses folder).file("4UOS200-xxx.license4D")
$oemLicense:=Folder(fk licenses folder).file("4DOM200-xxx.license4D")
$application:=Ordner(fk desktop folder).folder("myApp.app")
$status:=Einsatzlizenz erstellen($application; $serverLicense; $oemLicense)

Weiter…

Auf Github finden Sie die Build4D-Komponente, mit der Sie Ihre eigene Build-Chain erstellen können. Im Moment können Sie die Erstellung einer kompilierten Basis oder einer Komponente anpassen und automatisieren. Bleiben Sie dran für neue Entwicklungen, die bald kommen.

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.