me parece muy interesante tu manera de hacer que solo se ejecute una vez cada forma
no puse la manera en que yo lo hago para ver si se podia de una forma diferente y asi lo fue
esta es la forma en que yo lo logro:
primero declaro esta función
Código Delphi
[-]
function DesplegarForma(cForma: TClass): Boolean;
var
I : integer;
begin
Result := True;
for I := 0 to Screen.FormCount-1 do
if Screen.Forms[i].ClassType = cForma then
begin
Result := False;
Screen.Forms[i].SetFocus;
if Screen.Forms[i].WindowState = wsMinimized then
Screen.Forms[i].WindowState := wsNormal;
Break
end;
end;
y la uso asi
Código Delphi
[-]
if DesplegarForma(eltipodemiforma) then
begin
miforma := eltipodemiforma.Create(Self);
show;
end;
con esto logro no solo que no se cre una nueva, tambien consigo que se muestre la que ya esta creada
¿tiene alguna falla?
gracias por su atención
saludos