GARANTIR DESCONTO

Fórum Uso de dll externa dentro do código delphi #338601

12/03/2007

0

Caros colegas, como faço para utilizar uma dll (utilizar das funções ... essa dll foi feita em C++) no delphi ?

Grande abraço a todos e obg, desde já, pela ajuda.

Ricardo


Ricvictor

Ricvictor

Responder

Posts

13/03/2007

Marco Salles

Depende de como fora definido estas Funçoes/procedures

Geralmente tres tipos:

[b:25e331d291]extern ´C´[/b:25e331d291] __declspec(dllexport) int WINAPI Funcao1(parametros) [b:25e331d291]extern ´C´[/b:25e331d291] __declspec(dllexport) int WINAPI Funcao2 (parametros) P:s As duas primeiras usam convenção de Atribuição de nomes da linguagem , (indicada pela instrução [b:25e331d291]extern ´C´[/b:25e331d291] __declspec(dllexport) int WINAPI Funcao3 (parametros)


No delphi voce deve declarar assim:


Function Funcao1(parametros):Tipo Stdcall;external ´NomeDaDllEmC++´ name ´Funcao1´


Function Funcao2(parametros):Tipo Stdcall;external ´NomeDaDllEmC++´


Function Funcao3(parametros):Tipo Stdcall;external ´NomeDaDllEmC++´ name ´@Funcao3$qqsii´;


Se voce não tiver certeza dos nomes Reais das funçoes exportadas pela DLL , pode usar o Programa de Linha de Comando[b:25e331d291] TDumpda Borland[/b:25e331d291] , disponível na pasta Bin do Delphi, usando a aopção de linha de comando
[b:25e331d291]-ee[/b:25e331d291]


Responder

Gostei + 0

14/03/2007

Ricvictor

Valeu pelo apoio Marcos, estou tentando conforme o amigo me colocou adaptar na minha aplicação ... porém, confesso que estou um tanto enrolado :( ... a minha bronca é que TENHO de utilizar o dispositivo (BIOPOD) da APC numa aplicação de ponto digital. A dll que interage com o dispositivo foi feita em C/C++ ... daí a minha bronca :(

Podes me ajudar na parada ?

Desde já, te agradeço. Grande Abraço.

Ricardo


Responder

Gostei + 0

14/03/2007

Marco Salles

Mas qual a sua bronca ?? é na criação do cabeçalho das funções CC++ no delphi ????


Responder

Gostei + 0

14/03/2007

Ricvictor

Isso msm Marco. :oops:


Responder

Gostei + 0

14/03/2007

Ricvictor

Ou seja, Marco ... é fazer o leitor se comunicar com a aplicação :oops:

Se puder me ajudar, desde já te agradeço. Estou super atrasado com esse projeto, tentando desenrolar essa bronca :(

Grande Abraço.

Ricardo


Responder

Gostei + 0

14/03/2007

Marco Salles

Mas qual a sua bronca ?? é na criação do cabeçalho das funções CC++ no delphi ????


Isso msm Marco.


Eu não sei quais são as funçoes e sus parametros exportadas desta DLL
Não ha conheço. Isto voce tem que buscar em algum Lugar

Veja um exemplo:

Se voce não tiver certeza dos nomes Reais das funçoes exportadas pela DLL , pode usar o Programa de Linha de Comando TDumpda Borland , disponível na pasta Bin do Delphi, usando a aopção de linha de comando -ee


Vá na pasta Bin e cole o TDump para o Diretório de sua máquina que esta a DLL
agora no Prompt do Dos digite
[b:83735a56df]C:\Seu Diretório\TDump -ee SuaDll.Dll > QualquerNome.txt[/b:83735a56df]

Ao dar um enter , todas as funçoes exportadas desta DLL apareceram neste Arquivo Txt

Outra Ajuda:
Ferramenta HeadConv em www.drbob42.com ou DARTH em www.delphi.jedi.org/team_darth_home

São duas ferramentas que auxiliam na conversão de um Arquivo de Cabeçalho C/C++ para Delphi

P:S Caso voce querira usar apenas um Função dessa DLL , acredito que dê para fazer apenas o Acesso sem ter que carregar toda a DLL . isto se faz com Tipo Procedimental..


Responder

Gostei + 0

15/03/2007

Ricvictor

Valeu Marco ... baixei o aplicativo, fiz uns testes de conversão. Vai me ser de grande valia. Espero que a partir daqui eu consiga desenrolar :?

Grande abraço

Ricardo


Responder

Gostei + 0

15/03/2007

Marco Salles

Valeu ..

Boa sorte


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar