[Lazarus-es] Listado de todos los formularios de la aplicación
Antonio Évora
aevorar en gmail.com
Lun Jul 9 09:16:31 CEST 2012
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.
More information about the Lazarus-es
mailing list