Fórum Erro a chamar 2X seguida?? #261890
14/12/2004
0
Classe do erro: EComponentError
14/12/04 07:21:25 : Mensagem: A component named TitularDiaQRForm already exists
Alguém sabe como resolver?
Sem mais...
Wgm8
Curtir tópico
+ 0Posts
14/12/2004
Rodolpho123
Gostei + 0
14/12/2004
Wgm8
begin
PreparoRelatorio;
FormQR.Preview;
UnPreparoRelatorio;
end;
PreparoRelatorio:
begin
if FormQR = Nil then
Application.CreateForm(TFormQR, FormQR) ;
//Monto a SQL
SqlQ.SQL.Clear;
SqlQ.SQL.Add(´Select * from TABELADADOS´);
SqlQ.CmdQ.Open;
end;
UnPreparoRelatorio:
begin
SqlQ.Close;
SqlQ.Free;
FormQR := NIL;
end;
Gostei + 0
14/12/2004
Vinicius2k
O problema :
UnPreparoRelatorio: begin SqlQ.Close; SqlQ.Free; FormQR := NIL; // aqui vc só nulou o ponteiro do form, não destruiu. end;
Tente desta forma :
... begin SqlQ.Close; SqlQ.Free; FormQR.Free; // destruí o objeto FormQR := nil; // nulei o ponteiro end;
ou desta forma :
... begin SqlQ.Close; SqlQ.Free; FreeAndNil(FormQR); // destruí o objeto e nulei usando uma função do Delphi end;
Espero ter ajudado...
T+
Gostei + 0
14/12/2004
Otto
caso isso seja verdade e vc use uma versão anterior a procedure segue abaixo...
procedure FreeAndNil(var Obj); var Temp: TObject; begin Temp := TObject(Obj); Pointer(Obj) := nil; Temp.Free; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)