Access Violation - não sei o que tentar...
Galera...
Vou tentar ser o mais simples possível.
Eu abro um relatório... quando eu fecho o relatório e o código volta para a linha de codigo da tela... se eu tento mandar um [b:df6900c0fd]ADOQuery.Close[/b:df6900c0fd], da um access violation.
Já vi se tá na memória e não está. quando o relatório fecha... a tela que o chamou parece que fecha. Não há código para fechar e limpar a tela da memoria.
Já tentei:
- recriar a tela
- rechamar a procedure que create()
não sei mais o que tentar. :x
Depois do finally. [b:df6900c0fd]FreeAndNil[/b:df6900c0fd] funciona.
Até aí tenhu os seguintes valores sendo observado:
[b:df6900c0fd]Visible: False
Assigned(FrmEtiqueta): False[/b:df6900c0fd]
Alguem tem uma solução para este problema!?
Vou tentar ser o mais simples possível.
Eu abro um relatório... quando eu fecho o relatório e o código volta para a linha de codigo da tela... se eu tento mandar um [b:df6900c0fd]ADOQuery.Close[/b:df6900c0fd], da um access violation.
Já vi se tá na memória e não está. quando o relatório fecha... a tela que o chamou parece que fecha. Não há código para fechar e limpar a tela da memoria.
Já tentei:
- recriar a tela
- rechamar a procedure que create()
não sei mais o que tentar. :x
try if not Assigned(QREtiqueta) then begin QREtiqueta := TQREtiqueta.create(Application); end else begin FreeAndNil(QREtiqueta); QREtiqueta := TQREtiqueta.create(Application); end; QREtiqueta.ADOImprime.Close; QREtiqueta.ADOImprime.Open; QREtiqueta.inCodUser := Usuario.Codigo; QREtiqueta.QuickRep1.Preview; QREtiqueta.ContarEtiqueta:= 0; finally FreeAndNil(QREtiqueta); if Assigned(FrmEtiqueta) then begin Show; end else FrmPrincipal.btnetiquetasClick(FrmPrincipal.btnetiquetas); ADOEtiqueta.Close; ADOEtiqueta.Parameters[0].Value := Usuario.Codigo; ADOEtiqueta.Open; end;
Depois do finally. [b:df6900c0fd]FreeAndNil[/b:df6900c0fd] funciona.
Até aí tenhu os seguintes valores sendo observado:
[b:df6900c0fd]Visible: False
Assigned(FrmEtiqueta): False[/b:df6900c0fd]
Alguem tem uma solução para este problema!?
.lg.
Curtidas 0
Respostas
Woinch
22/05/2009
Onde é criado esse componente ADOEtiqueta?
Ele está em algum formulário? Qual?
Tente colocar um Watch para a variável ADOEtiqueta (Ctrl + F7) e fique acompanhando o debug dando F8/F7 para saber onde exatamente essa variável perde a referência.
Aguardo sua resposta...
Assim fica mais facil lhe ajudar.
Ele está em algum formulário? Qual?
Tente colocar um Watch para a variável ADOEtiqueta (Ctrl + F7) e fique acompanhando o debug dando F8/F7 para saber onde exatamente essa variável perde a referência.
Aguardo sua resposta...
Assim fica mais facil lhe ajudar.
GOSTEI 0
.lg.
22/05/2009
hehehe... sequinte... quando eu chamo o meu QuickReport... o form perde o foco... passando assim pelo evento OnDeactive.
No OnDeactive tinha o seguinte código:
:shock:
PS.: ´Que coisa em.´
Vaí... veja bem... quando eu saio do QuickReport... cade a tela!? Aí da o access violation. O problema foi resolvido ao remover o código do evento OnDeactive.
Vlw pela iniciativa Woinch.
Obrigado,
.lg.
No OnDeactive tinha o seguinte código:
Close;
:shock:
PS.: ´Que coisa em.´
Vaí... veja bem... quando eu saio do QuickReport... cade a tela!? Aí da o access violation. O problema foi resolvido ao remover o código do evento OnDeactive.
Vlw pela iniciativa Woinch.
Obrigado,
.lg.
GOSTEI 0
Woinch
22/05/2009
Que bom que deu certo ai... hehehe
essas coisas sao chatas de achar quando acontecem, tem que ter muita paciencia! :D
essas coisas sao chatas de achar quando acontecem, tem que ter muita paciencia! :D
GOSTEI 0