[Lazarus-es] Listado de todos los formularios de la aplicación
Christian
xortix en gmail.com
Lun Jul 9 14:49:38 CEST 2012
Que tal si agregas
if application.component[n] is tform then
Enviado desde Samsung tablet
Antonio Évora <aevorar en gmail.com> escribió:
>Hola a tod en s,
>Necesito listar todos los formularios de una aplicación (creados y sin
>crear).
>
>He probado con este código:
>
>procedure MuestraForms();
>var
> n: integer;
> Salida1,
> Salida2: string;
>begin
> Salida1:='';
> Salida2:='';
> for n:=0 to Application.ComponentCount-1 do
> begin
> Salida1:=Salida1+Application.Components[n].Name+LineEnding;
> end;
> for n:=0 to Screen.FormCount-1 do
> begin
> Salida2:=Salida2+Screen.Forms[n].Name+LineEnding;
> end;
>
>Application.MessageBox(Salida1+LineEnding+LineEnding+Salida2,'',64);
>end;
>
>Segun la documentación que he leido (de Delphi) con
>Application.Components deberia de listarme todos los formularios de la
>aplicacion, pero esto no es asi. La diferencia entre utilizar el objeto
>Application y Screen, es que el primero (Application) también me
>devuelve el modulo de datos, mientras que Screen me devuelve solamente
>los formularios, y en los dos casos solamente los que están cargados en
>memoria.
>
>También he leído que esto se puede hacer en Delphi 2010 usando RTTI,
>pero utiliza unidades no existentes en Lazarus.
>
>¿Tiene esto solución? ¿Es un bug de Lazarus/FPC?
>
>Un cordial saludo y gracias de antemano.
>
>_______________________________________________
>Lazarus-es mailing list
>Lazarus-es en lists.lazarus.freepascal.org
>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list