<br><br><div class="gmail_quote">El 9 de julio de 2012 14:12, Antonio Evora <span dir="ltr"><<a href="mailto:aevorar@gmail.com" target="_blank">aevorar@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hola Christian,<br>
El problema es que no lista todos los formularios de la aplicación. Me explico:<br>
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)<br>
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.<br>


<div class="im"><br>
Un cordial saludo y gracias de antemano.<br>
<br>
</div>Enviado desde mi iPad<br>
<br>
El 09/07/2012, a las 14:49, Christian <<a href="mailto:xortix@gmail.com">xortix@gmail.com</a>> escribió:<br>
<div class="HOEnZb"><div class="h5"><br>
> Que tal si agregas<br>
><br>
> if application.component[n] is tform then<br>
><br>
> Enviado desde Samsung tablet<br>
><br>
> Antonio Évora <<a href="mailto:aevorar@gmail.com">aevorar@gmail.com</a>> escribió:<br>
><br>
>> Hola a tod@s,<br>
>> Necesito listar todos los formularios de una aplicación (creados y sin<br>
>> crear).<br>
>><br>
>> He probado con este código:<br>
>><br>
>> procedure MuestraForms();<br>
>> var<br>
>>  n: integer;<br>
>>  Salida1,<br>
>>  Salida2: string;<br>
>> begin<br>
>>  Salida1:='';<br>
>>  Salida2:='';<br>
>>  for n:=0 to Application.ComponentCount-1 do<br>
>>  begin<br>
>>    Salida1:=Salida1+Application.Components[n].Name+LineEnding;<br>
>>  end;<br>
>>  for n:=0 to Screen.FormCount-1 do<br>
>>  begin<br>
>>    Salida2:=Salida2+Screen.Forms[n].Name+LineEnding;<br>
>>  end;<br>
>><br>
>> Application.MessageBox(Salida1+LineEnding+LineEnding+Salida2,'',64);<br>
>> end;<br>
>><br>
>> Segun la documentación que he leido (de Delphi) con<br>
>> Application.Components deberia de listarme todos los formularios de la<br>
>> aplicacion, pero esto no es asi. La diferencia entre utilizar el objeto<br>
>> Application y Screen, es que el primero (Application) también me<br>
>> devuelve el modulo de datos, mientras que Screen me devuelve solamente<br>
>> los formularios, y en los dos casos solamente los que están cargados en<br>
>> memoria.<br>
>><br>
>> También he leído que esto se puede hacer en Delphi 2010 usando RTTI,<br>
>> pero utiliza unidades no existentes en Lazarus.<br>
>><br>
>> ¿Tiene esto solución? ¿Es un bug de Lazarus/FPC?<br>
>><br>
>> Un cordial saludo y gracias de antemano.<br>
>><br>
>> _______________________________________________<br>
>> Lazarus-es mailing list<br>
>> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
>> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
> _______________________________________________<br>
> Lazarus-es mailing list<br>
> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br>
_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
</div></div></blockquote></div><br>Si no está creado form2 nunca te va a aparecer, ademas debes tener en cuenta si al momento de crearlo que parent le diste.<br>Si haces Tform2.Create(nil) no tiene pariente y no va a aparecer. deberias crealo con pariente Application.<br clear="all">

<br>-- <br>El que pregunta aprende, y el que contesta aprende a responder.<br><br>No a la obsolecencia programada: <a href="http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html" target="_blank">http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html</a><br>

<br>Linux User #495070<br><a href="http://domonetic.com/blog" target="_blank">http://domonetic.com/blog</a><br>