Ver Mensaje Individual
  #3  
Antiguo 28-07-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Similar respuesta, pero con otra técnica:

Código Delphi [-]
 var ListaVentanas :TobjectList;

procedure FormPrincipalCreate();
begin
  ListaVentanas := TobjectList.Create(True);
end;

function CrearUnaNueva:integer;
var F:Tform2;
begin
  F := Tform2.Create(nil);
  Result := ListaVentanas.Add(F);
  // devolvemos el indice de la nueva ventana creada dentro de la 
  // lista de ventanas;
end;

Procedure  SetFocusToWindow(const indice:integer);
begin
 if Assigned(ListaVentanas) and (ListaVentanas.Count >indice) then
   TForm2(ListaVentanas.items[indice]).SetFocus;
end;

Procedure FormPrincipalClose(::;
begin
  freeandnil(ListaVentanas);
  // liberamos la lista y todas las ventanas que haya abierto de Form2
end;

ListaVentanas es un Array pero de objetos, así no creamos variables para cada una de las ventanas, por contra, tendremos que acceder a través de su "indice".

Dependiendo de la implementación, quizás se pueda acceder a través de ListaVentanas.IndexOf

Busca por TobjectList, se ha explicado muchas veces su uso

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 28-07-2005 a las 18:29:02.
Responder Con Cita