Usando Pacotes de Tempo de Execução

Uma das funcionalidades úteis do Delphi é seu suporte a "Runtime Packages". Usando runtime packages, uma aplicação Delphi pode ser dividida em vários módulos. Esses módulos são pacotes de runtime BPL usados pelo próprio IDE do Delphi. Esses pacotes são DLLs especiais carregadas dinamicamente no espaço de memória da aplicação sob demanda. O tamanho da aplicação principal será menor, pois qualquer biblioteca BPL externa será carregada na memória somente quando necessário. Esse recurso também permite criar aplicações modulares: você pode dividir os módulos e formulários da sua aplicação em bibliotecas menores que podem ser carregadas no seu código quando necessários.

uniGUI suporta o uso de Runtime Packages e isso pode ser habilitado ativando "Link with runtime packages" nas opções do projeto. Uma vez definida essa opção, você deve garantir que todos os runtime packages do uniGUI estejam na lista de Runtime packages.

Abaixo está uma lista de todos os runtime packages que são usados em uma aplicação uniGUI. XX representa um número que corresponde à sua versão do Delphi. Por exemplo, uniGUI25 para Delphi 10.2 Tokyo.

  • uniToolsXX

  • uIndyXX

  • uniGUIXXCore

  • uniGUIXX

  • uniGUIXXChart

  • uniGUIXXmCore

  • uniGUIXXm

Para aplicações 64 bits você precisa das versões 64 bits dos arquivos BPL. Embora você possa compilá-los manualmente a partir do IDE alterando o alvo para cada BPL de runtime, é mais prático usar arquivos em lote para gerar arquivos BPL 64 bits. Veja Building 64-bit library files: https://unigui.com/doc/online_help/building-64-bit-library-files.htm

circle-exclamation
clip0104

Após habilitar runtime packages você notará que o tamanho do executável do seu projeto será muito menor. Para um projeto uniGUI vazio em modo Release, o tamanho do executável pode ser cerca de 43 KB — comparado a vários megabytes quando o projeto é compilado sem runtime packages.