[Lazarus-es] Listado de todos los formularios de la aplicación
Antonio Evora
aevorar en gmail.com
Lun Jul 9 19:12:41 CEST 2012
Hola Christian,
El problema es que no lista todos los formularios de la aplicación. Me explico:
Tengo un proyecto con dos formularios (form1 y form2)y un modulo de datos (dmDatos). Inicialmente cargo dmDatos y form1 (quedando form2 sin cargar pues se hara dinámicamente)
En este ejemplo, justamente después de ejecutar, en el objeto Application.Components estaria form1 y dmDatos y en Screen.Forms estaria solamente form1, pero form2 no aparece por ninguna parte. Lo que busco es alguna rutina capaz de devolver justamente después de ejecutar form1, form2 y dmDatos.
Un cordial saludo y gracias de antemano.
Enviado desde mi iPad
El 09/07/2012, a las 14:49, Christian <xortix en gmail.com> escribió:
> 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
> _______________________________________________
> 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