Lenguaje de programación Borland Delphi
Este truco sirve para cualquier tipo de formularios (MDI, SDI):
Existen varias formas de comprobarlo:
1.
function TFormPpal.IsLoaded(Nombre: string): Boolean;
var
b : boolean;
i : integer;
begin
b := false;
for i := 0 to Screen.FormCount - 1 do
if Screen.Forms[i].Name = Nombre then
b := true;
IsLoaded := B;
end;
Nota: El código anterior es mejorable mediante un bucle while (nunca repeat).
2.
Para las personas que al cargar un formulario desean verificar que dicho formulario ya ha sido creado, basta con esto:
if assign(Form2) = nil then
begin
Form2 := TForm2.create(application);
Form2.show; // (o lo que sea)
end;
Es muy importante para esto, poner la línea:
Action := caFree
en el evento "OnClose" del Form2 o del que creemos.
Publicado el: 2003-09-11