Tener una sola instancia de una ventana hija en una aplicación
Artículo por Club Developers · 01 March 2006
5642 vistas
Para tener sólo una instancia de una ventana hija (MDIChild) en nuestra aplicación, será necesario, antes de crear la nueva, asegurarnos de que no haya ninguna creada. Para hacerlo, podemos recorrer el array que contiene la referencia a las diferentes ventanas hijas existentes (código extraÃdo del proyecto de ejemplo AppMDI):
delphi
procedure TMainForm.CreateMDIChild(const Name: string); var Child: TMDIChild; //<- TMDIChild es la clase de la ventana hija Nbr : Integer; i : Integer; begin Nbr := 0; // recorremos el array de ventanas hijas For i:= 0 To MDIChildCount-1 Do If MDIChildren[i] is TMDIChild Then Inc(nbr); // creamos una nueva ventana hija si es necesario if Nbr < 2 then begin Child := TMDIChild.Create(Application); Child.Caption := Name; // tratamiento.... end; end;


