Tener una sola instancia de una ventana hija en una aplicación
Artículo por Club Developers · 01 marzo 2006
4948 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;