Fórum Access Violation #339056
20/03/2007
0
Prilady
Curtir tópico
+ 0Posts
20/03/2007
Marco Salles
Tipo isso
Coloque o fragemento de código para mais esclarecimentos
Gostei + 0
20/03/2007
Prilady
procedure TfrmMenu.btnPesquisarClick(Sender: TObject);
var
fornec01: tfornec01;
aierro:integer;
pcHost,pcDir,pcNive :array[0..79] of char;
begin
psaux:=´´;
StrPCopy(pcHost,asHost);
StrPCopy(pcDir,asPath);
StrPCopy(pcNive,asNivel);
aiErro := IniciaServidor(strnew(pchost));
If (aiErro = 0) then
AbreBancoDeDados(strnew(pcDir),strnew(pcNive),aiSegur,aiModo);
aiErro := ReiniciaSequencial(strnew(´fornec01´));
If (aiErro = 0) then
aiErro := LeProximoRegistroSequencial(strnew(´fornec01´),@fornec01);
uiTotal := 1;
aiErro := ReiniciaSequencial(strnew(´fornec01´));
If (aiErro = 0) then aiErro := LeProximoRegistroSequencial(strnew(´fornec01´),@fornec01);
uvDados[1] := TStringList.Create;
uvDados[2] := TStringList.Create;
While aiErro = 0 do
begin
psAux := ´99.999.999/9999-99´;
uvDados[1].Add(Picture(fornec01.a017cgc,psAux));
psAux := ´´;
uvDados[2].Add(Picture(fornec01.a017nom,psAux));
if fornec01.a017nom[1] = edtBusca.Text then
begin
sgFornecedores.Cells[0,uitotal] := fornec01.a017nom;
inc(uiTotal);
end;
aiErro := LeProximoRegistroSequencial(strnew(´fornec01´),@fornec01);
next
end;
FechaBancoDeDados;
FinalizaServidor;
end;
Gostei + 0
20/03/2007
Marco Salles
Deixando como comentário as duas ultimas instruçoes
Voce ainda tem o erro ::::
Tente tb deixar como comentário somente a Ultima
Gostei + 0
20/03/2007
Marco Salles
Deixando como comentário as duas ultimas instruçoes
Voce ainda tem o erro ::::
Tente tb deixar como comentário somente a Ultima
Gostei + 0
21/03/2007
Prilady
Gostei + 0
21/03/2007
Marco Salles
Jeito tem... Mas engraçado que se voce[b:4ebbfb40c8] não[/b:4ebbfb40c8] libera-la não daria acesso violado , a nao ser que voce estivesse usando algo nela que não existisse mais...
Vejo que nesta sua dll voce so usa muito a função leproximoregistrosequencial , não seria uma opção chamar esta função em rumtime atraves de Tipo Procedimental ????
Por fim se voce suspeita que esta função que esta dando este erro , verifique qual são os objetos que estão presentes nelas e que foram destruidos .. Este tipo de erro a grosso modo se dá atarvés d acesso a algo que não esta mais na memória
Gostei + 0
21/03/2007
Prilady
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)