Fórum como liberar memória #335233
26/12/2006
0
bom galera, meu problema é o seguinte:
Estou usando uma procedure que esta em uma ´DLL´ e estou fazendo assim:
até ai beleza, a consigo executar a procedure da dll.
porem quando fecho o aplicativo da um erro: abre uma tela ´CPU´ e o erro:
[b:cbc2dafe4c]obs:[/b:cbc2dafe4c] o programa faz tudo que precisa fazer apenas não consigo eliminar essa mensagem ao fechar o programa
Estou usando uma procedure que esta em uma ´DLL´ e estou fazendo assim:
type
Reg_Tabela = packed record
Tab_Arquivo: array[0..19] of Char;
Tab_Registros: Integer;
end;
procedure DLLNCR(var ATabela: Reg_Tabela); stdcall; external ´gerancr.dll´;
procedure TfrmTabela.btnGeraTabela;
var Tabela: Reg_Tabela;
begin
try
Tabela.Tab_Arquivo := ´´;
Tabela.Tab_Registros := 0 ;
{ : Aqui executo a dll }
DLLNCR(Tabela);
TxtArquivo.Text := Tabela.Tab_Arquivo;
TxtRegistros.Text := IntToStr(Tabela.Tab_Registros);
except
Application.MessageBox(´ERRO ao compactar a tabela [ NOS.SEM ]´, ´DllNcr´,
MB_OK+MB_ICONERROR);
end;
end;
até ai beleza, a consigo executar a procedure da dll.
porem quando fecho o aplicativo da um erro: abre uma tela ´CPU´ e o erro:
faulted with message: ´access violation at 0X61046d46 read of address 0X00000000´
[b:cbc2dafe4c]obs:[/b:cbc2dafe4c] o programa faz tudo que precisa fazer apenas não consigo eliminar essa mensagem ao fechar o programa
Fabiano Góes
Curtir tópico
+ 0
Responder
Posts
26/12/2006
Nerdex
Goes, se vc usa o Delphi 7.1, 7.0 ou inferiores, sugiro que vc introduza a FastMM, que é o novo gerenciador de memória, este mesmo usado no Delphi 2005/2006. Vc também, poderá configurá-lo para capturar os vazamentos de memória que casualmente poderão vir a existir. E outra coisa, pq vc não tenta dar um DISPOSE / FREE nesse packed record após seu uso?
Responder
Gostei + 0
26/12/2006
Fabiano Góes
NerdeX, obrigado pela atenção, vou procurar pelo ´FastMM´.
mais como eu faço:
valeu !!!
mais como eu faço:
DISPOSE / FREE nesse packed record após seu uso?
valeu !!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)