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.
