Como incorporar arquivos de recursos em executáveis no Delphi
Facilitar e agilizar a distribuição e implantação de sistemas é essencial para qualquer desenvolvedor. Veja neste artigo como embutir dentro do arquivo executável de seus aplicativos, arquivos secundários necessários, como modelos de relatórios.
Para estes casos, utiliza-se
alguns recursos, entre eles o de distribuir com a aplicação outro executável. Isto
permite verificar se há mudanças a realizar, validar a versão do software entre
outras. Essas aplicações e diversas outras, utilizam essa técnica de incluir
outros arquivos, músicas, imagens, cursores personalizados, arquivos de texto e
outros executáveis “embutidos” no executável principal. Em Delphi podemos fazer
isso utilizando recursos.
Durante o desenvolvimento de um software podemos fazer uso de DLLs, criar modelos de documentos e tudo isso precisa ser instalado junto com nosso software.
Para facilitar uma implantação ou atualização, podemos incluir esses arquivos, ou como são chamados, recursos, dentro de nosso executável e no momento de sua execução, extraí-los.
Vídeo, som, imagem ou qualquer arquivo binário, por exemplo, pode ser facilmente incorporado a um executável feito em Delphi através do uso da diretiva de recursos (RES - Resource).
É muito importante olhar com cuidado o uso dessa técnica, porque esses arquivos de recurso podem até dobrar o tamanho do executável. Também podemos fazer uso de outras possibilidades, como uso de pacotes BPL ou bibliotecas DLL dependendo da necessidade do projeto.
Estes recursos são parte do arquivo executável e são carregados ao mesmo tempo em que a aplicação é executada. O seu carregamento e descarregamento são realizados pela memória livre. Então não há um limite de números de recursos a serem carregados ou descarregados.
Arquivos de script de recurso (.rc)
Um arquivo de script de recursos nada mais é que um arquivo de texto simples com a extensão .rc. Este arquivo é compilado por uma ferramenta, para então gerar o arquivo res.
Para isso, geralmente utilizamos a Borland Resource Compiler com a finalidade de criá-lo (res). A estrutura de um arquivo rc para incorporar arquivos é composta basicamente por três características, sendo elas:
· Nome do recurso - Uma identificação para o recurso a ser usado pelo executável. Para criar esse nome, pode-se adotar qualquer caractere, inclusive números de 0 a 9. Só não são permitidos caracteres especiais (^, %, #, @, !, ~, *, &) e nem qualquer tipo de acentuação.
· Tipo do recurso - Para identificar o tipo do recurso, ou seja, o tipo do arquivo que está sendo incorporado. Já existem alguns tipos de recursos predefinidos como o Bitmap, Icon, Cursor e etc. Para outros tipos de arquivos como executáveis, pode-se definir o tipo File.
· Caminho para o recurso – Local onde se encontra o arquivo que se deseja utilizar como recurso. O diretório deve estar entre os caracteres de aspa dupla, ou será emitido um erro na hora de compilar o arquivo.
Internacionalizando a aplicação com o script de recurso
Além do que já foi citado até aqui, é possível também internacionalizar a aplicação com um arquivo de recurso. Para isso deve-se declarar no arquivo de recurso uma tabela de Strings (String Table).
Nessa tabela de Strings inserimos todos os textos para fazer a internacionalização. Existem outras maneiras de se internacionalizar um projeto desenvolvido em Delphi.
Além deste, os mais comuns são: o uso de DLLs, ResourceString e usando banco de dados para armazenamento dos textos. No entanto, se o projeto não for muito grande e não conter muitas telas e objetos, torna-se vantajoso fazer o uso do Resource para essa internacionalização, visto que um arquivo de Resource, com poucas Strings, não pesaria em nada a aplicação, sendo o tamanho insignificante.
Uma forma simples de fazer uma tabela de Strings para esse propósito seria colocar os textos dos objetos com uma quebra de linha entre as línguas.
A estrutura de uma String Table é relativamente simples, composta por um identificador e a String em si. Veja a seguir na "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo