NöU@ Postado Março 28, 2008 Denunciar Share Postado Março 28, 2008 Aí pessoal? beleza?To precisando de uma ajudaeu criei uma dll pro meu programa e quando ela (dll) tava na pasta do EXE, o programa rodava normalmentesó que resolvi criar uma pasta separada para as dll'se aí que tah o problema: não consigo carregá-lasse precisar eu mando o source da dll, ela é simples, mas ajuda....Alguma ajuda, idéia??Vlw!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 28, 2008 Denunciar Share Postado Março 28, 2008 eu criei uma dll pro meu programa e quando ela (dll) tava na pasta do EXE, o programa rodava normalmentesó que resolvi criar uma pasta separada para as dll'se aí que tah o problema: não consigo carregá-lasDlls podem ser carregadas de duas maneiras: estaticamente ou dinamicamenteO 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 pastafunction 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çãoex:Handle := LoadLibrary('DateTime.dll');se estiver em outra pastaHandle := LoadLibrary('c:\Temp\'DateTime.dll');abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NöU@ Postado Março 28, 2008 Autor Denunciar Share Postado Março 28, 2008 e como 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??Vlw pela ajuda!vo tenta com isso aí! :) :) B) B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 28, 2008 Denunciar Share Postado Março 28, 2008 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 nadaentretanto 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 windowsabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NöU@ Postado Março 28, 2008 Autor Denunciar Share Postado Março 28, 2008 mas a dll não tá na mesma pasta do programa.eu qeria q fizesse assimpegasse 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 28, 2008 Denunciar Share Postado Março 28, 2008 porque ele pode ser instalada em otra pasta ou unidade, entendeu?então copie as dlls para dentro da pasta system do windows, e o seu programa pode estar em qualquer outra pastaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NöU@ Postado Março 28, 2008 Autor Denunciar Share Postado Março 28, 2008 (editado) Vlw! Vo fz Isso!!Jhonas tu és o cara!É Bom saber que podemos contar com a ajuda de pessoas cmo você!AbraçosResolvido!! Editado Março 28, 2008 por NöU@ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
NöU@
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
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.