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.