Finalizar uma aplicação com os comandos 4D

Desde várias versões de 4D, diferentes características foram adicionadas para criar a sua própria cadeia de construção. Por exemplo:

  • a criação de uma pasta “.zip”,
  • a adição de informações tais como os direitos de autor sobre um executável ou um “dll”,
  • a criação de um arquivo “info.plist”,
  • e o novo componente build4D.

 

Com 4D v20, duas novas características permitem finalizar a criação de uma aplicação autônoma ou cliente/servidor em código 4D:

  • a adição de um ícone a um executável
  • a geração do arquivo de licença de implementação para um servidor (licença OEM apenas) ou uma aplicação autônoma.

Acrescentar ícones a um exe

No Windows, a função setAppInfo da classe File permite adicionar alguma informação, como a empresa e os direitos de autor, a um executável. Adicionámos um novo atributo, “WinIcon,” para passar o arquivo “.ico” a utilizar.

Aqui está um exemplo 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))

Se perguntar, e o MacOS? Isso já era possível desde a criação da função setAppInfo.

Para adicionar um ícone a um arquivo “.app”. Tem de colocar o arquivo “.icns” na pasta “Recursos” da aplicação. Em seguida, adicionar uma chave “CFBundleIconFile” no arquivo “info.plist” com o caminho do ícone relativo à pasta “Recursos”.

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

Gerar licença de implantação

O novo comando Create deployment license permite a criação da licença para um servidor ou uma aplicação de um único utilizador. Para o fazer, deve passar a pasta da aplicação gerada e o arquivo de licença como parâmetros para gerar a licença de implementação.

Aplicação para um único utilizador:

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:=Criarlicença de desdobramento($application; $license)

Servidor com licença OEM:

var $status: Object
var $application: 4D.File
var $serverLicense; $oemLicense: 4D.File
$serverLicense:=Pasta(pasta fk licenses).file("4UOS200-xxx.license4D")
$oemLicense:=Pasta(pasta fk licenses).file("4DOM200-xxx.license4D")
$application:=Folder(fk desktop folder).folder("myApp.app")
$status:=Criarlicença de implementação($application; $serverLicense; $oemLicense)

A seguir…

No Github, tem a componente Build4D que lhe permite criar a sua própria cadeia de construção. Por agora, pode personalizar e automatizar a criação de uma base compilada ou de um componente. Esteja atento aos novos desenvolvimentos que se avizinham.

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.