Problemas ao carregar DLL no Delphi
26/05/2017
0
Olá pessoal, estou recebendo a seguinte mensagem de erro ao rodar um projeto que carrega uma dll no delphi.
Mensagem que recebo no compilador
First chance exception at $00316396. Exception class $C0000005 with message 'access violation at 0x00316396: read of address 0x000002d0'. Process ProjetoX.exe (3656)
Mensagem que recebo na caixa de mensagem exibida pelo delphi
Access violation at address 00316396 in module 'Lc.dll'. Read of address 000002D0.
Usei o seguinte código para iniciar a dll
Function Function Inicializa (Porta : byte ): boolean; stdcall; external 'Lc.dll' ;
Código do botão
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Porta : byte;
begin
Case RdgPorta.ItemIndex of
0 : Porta := 1;
1 : Porta := 2;
2 : Porta := 3;
3 : Porta := 4;
end;
If PrimeiraVez then {Confirma se é a primeira vez}
begin
If Inicializa (Porta) then {Se primeira vez apenas inicializa leitora }
begin
Testa_Comunicacao ( Status ); {Testa comunicação}
end;
end;
end;
Durante a compilação não dá erro algum somente quando clico no botão é que aparece esses erros.
O que posso tá fazendo errado?
Desde já agradeço qualquer ajuda.
Mensagem que recebo no compilador
First chance exception at $00316396. Exception class $C0000005 with message 'access violation at 0x00316396: read of address 0x000002d0'. Process ProjetoX.exe (3656)
Mensagem que recebo na caixa de mensagem exibida pelo delphi
Access violation at address 00316396 in module 'Lc.dll'. Read of address 000002D0.
Usei o seguinte código para iniciar a dll
Function Function Inicializa (Porta : byte ): boolean; stdcall; external 'Lc.dll' ;
Código do botão
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Porta : byte;
begin
Case RdgPorta.ItemIndex of
0 : Porta := 1;
1 : Porta := 2;
2 : Porta := 3;
3 : Porta := 4;
end;
If PrimeiraVez then {Confirma se é a primeira vez}
begin
If Inicializa (Porta) then {Se primeira vez apenas inicializa leitora }
begin
Testa_Comunicacao ( Status ); {Testa comunicação}
end;
end;
end;
Durante a compilação não dá erro algum somente quando clico no botão é que aparece esses erros.
O que posso tá fazendo errado?
Desde já agradeço qualquer ajuda.
Richard Slater
Curtir tópico
+ 0
Responder
Post mais votado
27/05/2017
Bom dia Richard!
Vê se esse artigo te ajuda:
https://www.devmedia.com.br/artigo-clube-delphi-edicao-1-dlls-devo-mesmo-usar/13455
Nele mostra duas formas de se utilizar dll's.
Se a resposta for útil não esqueça de dar um like!
Vê se esse artigo te ajuda:
https://www.devmedia.com.br/artigo-clube-delphi-edicao-1-dlls-devo-mesmo-usar/13455
Nele mostra duas formas de se utilizar dll's.
Se a resposta for útil não esqueça de dar um like!
Daniel Araújo
Responder
Clique aqui para fazer login e interagir na Comunidade :)