Finalizar una aplicación con los comandos 4D

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.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.