Fórum Access Violation at Adress #244778
28/07/2004
0
Utilizo o delphi 7, banco firebird, componente dbexpress.
O cliente está trabalhando, iserindo informações, alterando, fazendo consulta, gerando relatório, etc. ora ou outra aparece esta mensagem(Access Violation at Adress 03f71c10: read of address).
Em algum momento utililizo query dinamica como ex. abaixo:
with TSQLQuery.Create(nil) do
begin
try
SQLConnection := FrmPrincipalSGCAdm.SQLConnection1;
Sql.Add(´ SELECT PROD_CODIGO, PROD_DESCRICAOPRODUTO,PROD_QTDEESTOQUEFISICO, PROD_PRECOAVISTA FROM PRODUTO´);
Sql.Add(´ WHERE EMP_CODIGO =´ +IntToStr(FrmPrincipalSGCAdm.CodEmpresa));
Sql.Add(´ AND PROD_CODIGO = ´+IntToStr(cdsDetalhePROD_CODIGO.AsInteger));
Open;
cdsDetalhePIT_VALORUNITARIO.AsCurrency := Fields[3].AsCurrency;
finally
Free;
end;
end;
Ou chamar uma tela padrao para consulta.
edtBanco.SetFocus;
FrmPesquisaGeral.QryPadrao.close;
FrmPesquisaGeral.QryPadrao.sql.Clear;
FrmPesquisaGeral.QryPadrao.SQL.Add(´SELECT BCO_CODIGO AS CodBanco, Bco_DESCRICAO as Banco ´);
FrmPesquisaGeral.QryPadrao.SQL.Add(´FROM banco´ );
FrmPesquisaGeral.QryPadrao.SQL.Add(´WHERE BCO_DESCRICAO like :Pesquisa ´ );
FrmPesquisaGeral.ResultField := 1;
FrmPesquisaGeral.Pesquisa := true;
result := FrmPesquisaGeral.Open;
if result <> null
then begin
edtBanco.Text := result;
edtBanco.OnExit(Sender);
end;
Alguem pode me ajudar a resolver este problema? o que pode ser isto?
problema de memória, ou algum bug na minha aplicação?
Obrigado um abraço a todos.
Plácido
Placido
Curtir tópico
+ 0Posts
28/07/2004
Moonlight
Gostei + 0
28/07/2004
Placido
Obrigado pela colaboração, mas o meu problema é exatamente este, não dá o erro no mesmo local, ou na mesma tela.
Grato
Gostei + 0
28/07/2004
Sandra
Sua TSQLQuery é criada em tempo de excução, certo?
Então, se for este o seu caso, experimente primeiro criá-la e altere as propriedades convenientemente. Em seguida, utilize-a normalmente. Talvez o problema esteja aí, pois, pelo que entendi, está criando a Query e alterando propriedades ao mesmo tempo.
Gostei + 0
28/07/2004
Placido
Sim minha query está sendo criada em tempo de execução, mas ouço falar que é aconselahvel criar querys dinamicas, ou seja excuta e libera memória ao mesmo tempo, pois é exatamente esta minha dúvida, antes de fazer as mudanças na minha aplicação preciso ter certeza se este o problema.
Grato :roll:
Gostei + 0
28/07/2004
Sandra
Uma outra coisa que estive observando. O Access Violation não seria o caso do ´(nil)´?
Faça mais um teste, alterando o ´nil´ para ´Self´, assim:
with TSQLQuery.Create(Self) do begin try ... // demais códigos end;
Verfique se ainda assim a mensagem de erro persiste.
Gostei + 0
16/08/2004
Jose Oliveira
Numa aplicaçao que estava normal, agora está apresentando
este tipo de erro.
Qual foi a solucao?
Desde já agradeco,
Geraldo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)