Desde hace varias versiones de 4D, se han añadido diferentes funcionalidades para crear su propia cadena de construcción. Por ejemplo:
- la creación de una carpeta «.zip»,
- la adición de información como el copyright de un ejecutable o de una «dll»,
- la creación de un archivo «info.plist»,
- y el nuevo componente build4D.
Con 4D v20, dos nuevas funcionalidades permiten finalizar la creación de una aplicación monopuesto o cliente/servidor en código 4D:
- la adición de un icono a un ejecutable
- la generación del archivo de licencia de despliegue para un servidor (sólo licencia OEM) o una aplicación monopuesto.
Añadir iconos a un exe
En Windows, la función setAppInfo de la clase File permite añadir cierta información, como la empresa y el copyright, a un ejecutable. Hemos añadido un nuevo atributo, «WinIcon», para pasar el archivo «.ico» a utilizar.
Aquí un ejemplo de código:
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))
Si se lo pregunta, ¿qué pasa con macOS? Esto ya es posible desde la creación de la función setAppInfo.
Para añadir un icono a un archivo «.app». Tiene que poner el archivo «.icns» en la carpeta «Resources» de la aplicación. Después añada una llave «CFBundleIconFile» en el archivo «info.plist» con la ruta del icono relativa a la carpeta «Resources».
var $plistFile: 4D.File
$pListFile:= Folder(fk desktop folder).file("myApp.app/Contents/Info.plist")
$pListFile.setAppInfo(New object("CFBundleIconFile"; "myApp.icns"))
Generar una licencia de despliegue
El nuevo comando Create deployment license permite crear una licencia para un servidor o una aplicación monopuesto. Para ello, debe pasar la carpeta de la aplicación generada y el archivo de licencia como parámetros para generar la licencia de despliegue.
Aplicación monousuario:
var $status: Object
var $application: 4D.File
var $license: 4D.File
$license:=Folder(fk carpetalicencias).file("4UUD200-xxx.license4D")
$application:=Folder(fk carpeta escritorio).folder("myApp.app")
$status:=Createdeployment license($application; $license)
Servidor con licencia OEM:
var $status: Object
var $application: 4D.File
var $serverLicense; $oemLicense: 4D.File
$serverLicense:=Folder(fkcarpeta licencias).file("4UOS200-xxx.license4D")
$oemLicense:=Folder(fk carpeta licencias).file("4DOM200-xxx.license4D")
$application:=Folder(fkdesktop folder).folder("myApp.app")
$status:=Createdeployment license($application; $serverLicense; $oemLicense)
LUEGO…
En Github, tiene el componente Build4D que le permite crear su propia cadena de compilación. Por ahora, puede personalizar y automatizar la creación de una base compilada o de un componente. Permanezca atento a los nuevos desarrollos que llegarán pronto.