Compilando & Executando uma Aplicação uniGUI

O primeiro passo é criar uma aplicação Standalone uniGUI.

clip0181

No Delphi IDE vá para Novo -> Outro... -> Delphi -> uniGUI for Delphi -> Application Wizard

Uma aplicação uniGUI padrão será criada no IDE.

clip0182

A plataforma de destino padrão é Windows 32. Para Windows você pode compilar e executar esta aplicação diretamente.

Para a plataforma Linux64 alguns ajustes devem ser feitos. Antes de tudo, precisamos ajustar o caminho para os arquivos do framework. Atualmente não há Runtime Package para Linux, então precisamos ajustar manualmente os caminhos no código.

No ServerModule há uma propriedade chamada FrameworkFilesRoot. Ela permite ajustar facilmente o caminho onde todos os arquivos do framework estão localizados.

Observação: A partir da build 1591 o runtime uniGUI para Linux é distribuído em formato tar.gz (ou tar.xz) e pode ser baixado do portal do cliente.

clip0339

Para builds anteriores à 1591 você precisa criar o arquivo de runtime do Linux manualmente. Antes de tudo você precisa criar um arquivo compactado contendo todos os arquivos do runtime uniGUI.

Abra a pasta onde o uniGUI está instalado. Há 4 pastas que contêm os arquivos de runtime do uniGUI.

clip0183

Agora crie um arquivo ZIP compactado que inclua todas essas pastas e subpastas.

clip0184

Copie este arquivo ZIP para seu PC Linux usando FTP ou qualquer outro método preferido.

clip0185

Na máquina Linux nós criamos uma pasta chamada fmsoft/unigui dentro da pasta etc. Como etc é uma pasta do sistema Linux você precisa de privilégio de administrador para fazer isso.

Copie seu arquivo zip para essa pasta. Novamente você precisará de direitos de administrador.

Você também pode escolher uma pasta dentro da sua pasta home no Linux, mas usar etc é melhor porque ficará visível para todos os usuários.

Agora descompacte este arquivo na pasta atual. Uma nova pasta chamada unigui_runtime será criada. Ela contém todos os arquivos necessários para que aplicações uniGUI rodem no seu servidor Linux. Se você usar quaisquer controles uniGUI de terceiros, então também precisa copiá-los para aqui.

clip0186

Observe que o Linux é um sistema operacional sensível a maiúsculas e minúsculas, então em sua aplicação todos os nomes de arquivos e pastas devem ser referidos com a mesma capitalização.

1

Configurar FrameworkFilesRoot (OnBeforeInit)

Retorne à sua aplicação uniGUI e configure a propriedade FrameworkFilesRoot.

Adicione o seguinte código em ServerModule.OnBeforeInit:

Esta diretiva condicional garante que a instrução seja ativada apenas quando o app for compilado para a plataforma Linux.

2

Usando FrameworkFilesRootLinux (build 1591+)

A partir da build 1591 você pode usar a nova propriedade FrameworkFilesRootLinux. Esta propriedade pode ficar em branco e, quando em branco, usará o valor padrão '/etc/fmsoft/unigui/unigui_runtime'.

Resumo do comportamento (build 1591+):

  • Se FrameworkFilesRootLinux estiver em branco, o padrão '/etc/fmsoft/unigui/unigui_runtime' é usado.

  • Para compatibilidade retroativa, se FrameworkFilesRootLinux estiver em branco mas FrameworkFilesRoot estiver definido, o valor em FrameworkFilesRoot será usado para Linux.

  • Se ambos FrameworkFilesRoot e FrameworkFilesRootLinux estiverem definidos:

    • FrameworkFilesRoot é usado para Windows.

    • FrameworkFilesRootLinux é usado para Linux.

Assim, para a build 1591 ou posterior você pode atribuir valores diretamente a FrameworkFilesRoot ou FrameworkFilesRootLinux em vez de usar código em OnBeforeInit.

3

Adicionar alvo de plataforma Linux64 e Compilar

Adicione o alvo de plataforma Linux64 à sua aplicação.

clip0187
clip0189

Compile seu projeto para a plataforma Linux64. Se tudo estiver correto você deverá conseguir compilar a aplicação com sucesso. Seu arquivo executável Linux ficará localizado na pasta ..\Linux64\Debug\.

clip0188

Observação: o arquivo executável Linux não tem extensão.

4

Implantar e Executar no Linux

Assumindo que o PAServer esteja rodando no Linux e o Delphi esteja configurado para se comunicar com o PAServer:

  • Pressione F9 no Delphi para implantar a aplicação Linux no seu servidor Linux. Uma vez concluída a implantação, a aplicação será executada no servidor Linux em modo de depuração.

  • Abra um navegador e navegue até: http://linuxserver_ip_address:8077

Exemplo (do documento): http://192.168.1.15:8077/

Se todas as configurações estiverem corretas você verá um formulário uniGUI em branco no navegador — sua aplicação uniGUI no Linux está em execução.

circle-info

Se você quiser converter/compilar uma aplicação uniGUI existente para a plataforma Linux você pode notar que o alvo de plataforma Linux64 pode não aparecer na lista de alvos disponíveis.

Para corrigir isso, feche seu projeto e abra o arquivo .dproj relacionado em um editor de texto. Altere: VCL para: None

Após essa alteração você deverá conseguir ver a plataforma Linux64 na lista de plataformas disponíveis.