Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda para Carregar uma Dll


NöU@

Pergunta

Aí pessoal? beleza?

To precisando de uma ajuda

eu criei uma dll pro meu programa e quando ela (dll) tava na pasta do EXE, o programa rodava normalmente

só que resolvi criar uma pasta separada para as dll's

e aí que tah o problema: não consigo carregá-las

se precisar eu mando o source da dll, ela é simples, mas ajuda....

Alguma ajuda, idéia??

Vlw!!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
eu criei uma dll pro meu programa e quando ela (dll) tava na pasta do EXE, o programa rodava normalmente

só que resolvi criar uma pasta separada para as dll's

e aí que tah o problema: não consigo carregá-las

Dlls podem ser carregadas de duas maneiras: estaticamente ou dinamicamente

O modo estático sempre se refere ao mesmo endereço de entrada na mesa DLL, e o windows, ao carregar o aplicativo para a memória, carrega tambem a dll. Caso a dll não possa ser encontrada o windows não deixa o aplicativo ser executado poruqe falta um componente essencial para a execção do mesmo.

ex:

function soma (A, B: Extended ) : Extended; external 'teste.dll';

se estiver em outra pasta

function soma (A, B: Extended ) : Extended; external 'c:\Dlls\teste.dll';

Outro modo possivel de impotação de DLLs é o dinâmico. Neste caso, o nome da dll e o nome e índice da função a ser usada são passadas apenas em tempo de execução

ex:

Handle := LoadLibrary('DateTime.dll');

se estiver em outra pasta

Handle := LoadLibrary('c:\Temp\'DateTime.dll');

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
eu posso usar a função ExtractFilePath(application.ExeName), para pegar a pasta do aplicativo e então pegar Bin onde estão as dll's??

se as suas dlls estiverem na mesma pasta onde está o seu aplicativo não tera que fazer nada

entretanto se estiverem em outra pasta tera que informar o caminho para elas, como no exemplo que te passei, ou voce pode copia-las para dentro da pasta system do windows

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

mas a dll não tá na mesma pasta do programa.

eu qeria q fizesse assim

pegasse onde a aplicação tá instalada (por exemplo c:\Server\server.exe) e a dll (c:\Server\BIN\minhaDll.Dll)

porque ele pode ser instalada em otra pasta ou unidade, entendeu?

vlw pela ajuda!!

no aguardo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...