GARANTIR DESCONTO

Fórum Access Violation - não sei o que tentar... #370678

22/05/2009

0

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
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.

.lg.

Responder

Posts

25/05/2009

Woinch

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.


Responder

Gostei + 0

25/05/2009

.lg.

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:
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.


Responder

Gostei + 0

26/05/2009

Woinch

Que bom que deu certo ai... hehehe
essas coisas sao chatas de achar quando acontecem, tem que ter muita paciencia! :D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar