DevMedia

Aplicativo não executa por falta de biblioteca

0
    Não sei por que motivo, mas de uma hora para outra os .exe dos aplicativos que eu estou criando em Delphi 2009 não estão funcionando em outros PC's que não tenham o Delphi 2009 instalado.

 * O erro que está dando é o seguinte:

APLICATIVO.EXE - NÃO FOI POSSÍVEL LOCALIZAR COMPONENTE

   Este aplicativo não pode ser iniciado porque não foi encontrado rtl120.bpl. A reinstalação do aplicativo pode corrigir o problema.

* As dúvidas são as seguintes:

    Qual o motivo de ter começado a pedir este arquivo rtl120.bpl para que o meu .exe rode, sendo que numca aconteceu isso antes? Será que ele está compilando o .exe sem esse arquivo? Eu imagino que a sigla rtl seja de RunTimeLibrary e que o 120 seja o nome ou o nº da biblioteca. Então como eu poderia resolver este problema? Eu teria que configurar algo no Delphi 2009 para resolver este isso, ou eu teria que passar a mandar este arquivo junto com o programa para que ele rode, ou o que?

Alguém poderia me explicar a causa e a solução deste problema?

Agradeço a todos que responderem este tópico desde já.
Publicidade

Respostas (5)

0
Vá em "Projetc/Options" selecione na lista a esquerda "Packages" e após desmarque a opção "Build with runtime packages". Assim ele colocará todas as bibliotecas necessárias dentro do próprio executável.

Espero ter colaborado.
0

Citação:
Vá em "Projetc/Options" selecione na lista a esquerda "Packages" e após desmarque a opção "Build with runtime packages". Assim ele colocará todas as bibliotecas necessárias dentro do próprio executável.

Espero ter colaborado.


Muito obrigado!

Era exatamente isso que você disse que estava causando o problema. Porém, o motivo desta opção estar marcada era que eu estava utilizando a VCLSkin que é instalada em tempo de execução, então, ao desmarcar o Build With RunTime Packages os componentes da VCLSkin pararam de funcionar, como eu poderia utilizar a VCLSkin  sem que esse problema volte? Alguma dica?
0
Coloque a BPL da VLCSkin na mesma pasta do seu executável.

Espero ter colaborado.
0

Citação:
Coloque a BPL da VLCSkin na mesma pasta do seu executável.

Espero ter colaborado.


A questão na verdade é que quando eu coloco o componente TSkinData da VCLSkin a WinSkinData é adicionada na uses do delphi que fica logo em baixo do interface. Então quando eu desmarco a opção build with runtime packages o delphi da um erro que diz que ele não encontra o arquivo WinSkinData.dcu, mas isso só acontece quando eu desmarco essa opção, ou seja, a VCLSkin só é instalada em tempo de execução e por isso ela depende que o build with runtime packages esteja marcado para que ela funcione.

Logo abaixo do local onde marco esta opção que está em runtime packages, aparece o seguinte:

vclx;vcl;dbrtl;Rave76VCL;bdertl;rtl;vclactnband;xmlrtl;vcldb;vcldbx;dsnap;dsnapcon;TeeUI;TeeDB;Tee;adortl;
vclib;ibxpress;IndyCore;IndySystem;IndyProtocols;inet;intrawebdb_100_120;Intraweb_100_120;VclSmp;vclie;
websnap;webdsnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;
DataSnapIndy10ServerTransport;DataSnapProviderClient;DataSnapServer;DbxClientDriver;DBXInterBaseDriver;
DBXMySQLDriver;dbxcds;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;
DBXInformixDriver;DBXDb2Driver;WinSkinD2009

------------------

Eu acredito que neste ponto é onde eu decido quais os pacotes instalados vão ser instalados em tempo de execução, então se eu pensei que se eu removesse todo o resto do que está escrito e mantivesse apenas o WinSkinD2009 então quando eu marcasse a opção Build With RunTime Packages, o delphi instalaria todos os outros pacotes normalmente e instalaria apenas o WinSkinD2009 em tempo de execução. Seria isso mesmo que aconteceria, ou estou errado?

Se isso fosse mesmo da maneira que eu pensei, haveria outro problema, que seria: O arquivo WinSkinD2009.bpl fica em um caminho bem específico que é -> C:\Documents and Settings\All Users\Documentos\RAD Studio\6.0\Bpl

E para que o Delphi encontre ele no momento de executar o arquivo .exe do meu programa ele teria que estar exatamente neste caminho, caso contrário o Delphi não irá achar o WinSkinD2009.bpl e vai continuar não rodando o meu executável. Como eu resolveria este problema com relação ao caminho?

Preciso de mais informações, se você puder continuar me ajudando e/ou mais alguém puder me ajudar eu ficaria muito grato.

Obrigado novamente!
0
Vá em "Tools/Options -> Environment Options/Delphi Options/Library - Win32 -> Library path:" e adicione o caminho de onde se encontra a BPL da VCLSkin.

Espero ter colaborado.