Da diverse versioni di 4D sono state aggiunte diverse funzioni per creare la propria catena di costruzione. Ad esempio,
- la creazione di una cartella “.zip”,
- l’aggiunta di informazioni come il copyright di un eseguibile o di una “dll”,
- la creazione di un file “info.plist”,
- e il nuovo componente build4D.
Con 4D v20, due nuove funzionalità consentono di finalizzare la creazione di un’applicazione standalone o client/server in codice 4D:
- l’aggiunta di un’icona a un eseguibile
- la generazione del file di licenza di distribuzione per un server (solo licenza OEM) o un’applicazione standalone.
Aggiungere icone a un exe
In Windows, la funzione setAppInfo della classe File consente di aggiungere alcune informazioni, come l’azienda e il copyright, a un eseguibile. Abbiamo aggiunto un nuovo attributo, “WinIcon”, per passare il file “.ico” da utilizzare.
Ecco un esempio di codice:
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))
Se vi chiedete: e su macOS? Questo è già possibile dalla creazione della funzione setAppInfo.
Per aggiungere un’icona a un file “.app”. È necessario inserire il file “.icns” nella cartella “Resources” dell’applicazione. Quindi aggiungere una chiave “CFBundleIconFile” nel file “info.plist” con il percorso dell’icona relativo alla cartella “Resources”.
var $plistFile: 4D.File
$pListFile:= Folder(fk desktop folder).file("myApp.app/Contents/Info.plist")
$pListFile.setAppInfo(New object("CFBundleIconFile"; "myApp.icns"))
Generare la licenza di distribuzione
Il nuovo comando Crea licenza di distribuzione consente di creare la licenza per un server o per un’applicazione a utente singolo. A tal fine, è necessario passare la cartella dell’applicazione generata e il file di licenza come parametri per generare la licenza di distribuzione.
Applicazione per utente singolo:
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 con licenza OEM:
var $status: Object
var $application: 4D.File
var $serverLicense; $oemLicense: 4D.File
$serverLicense:=Folder(fk cartella licenze).file("4UOS200-xxx.license4D")
$oemLicense:=Folder(fk cartella licenze).file("4DOM200-xxx.license4D")
$applicazione:=Cartella(fk cartella desktop).cartella("myApp.app")
$status:=Crealicenza di distribuzione($applicazione; $serverLicense; $oemLicense)
Poi…
Su Github è disponibile il componente Build4D, che consente di creare la propria catena di compilazione. Per ora, è possibile personalizzare e automatizzare la creazione di una base compilata o di un componente. Restate sintonizzati per i nuovi sviluppi in arrivo.