Buenas a todos
Estoy intentando evitar que un formulario hijo se abra mas de una vez. Investigué en los foros pero las soluciones que encontré no me están ayudando y no se que estoy haciendo mal.
Paso a explicar.
Al abrir la aplicación el form padre (frmMain) llama a un form hijo (frmQuerys) en el evento Activate del mismo de la sig. manera:
(esto lo tengo como variable global: frmQuerys : TfrmQuerys
Código:
procedure TfrmMain.FormActivate(Sender: TObject);
begin
frmQuerys := TfrmQuerys.Create(Self);
frmQuerys.Show;
end;
Hasta aquí todo 10 puntos.
En el evento OnClose del form hijo hago lo siguiente para liberarlo:
Código:
Action := caFree;
Desde una opción en el form padre puedo volver a llamar a este form hijo pero quiero evitar que se vuelva a crear si ya se está mostrando y lo hago de la sig.forma:
Código:
if not Assigned(frmQuerys) then
begin
frmQuerys := TfrmQuerys.Create(Self);
frmQuerys.Show;
end
else
frmQuerys.Show;
Si intento abrirlo mientras se está mostrando, no lo abre nuevamente, esto está perfecto. Pero si cierro el form hijo e intento abrirlo me sale una excepción diciendo: "Abstract Error" y no hace nada.
Que estoy haciendo mal???
Muchas gracias desde ya!!