<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">El 11/07/12 15:52, Maxi escribió:<br>
</div>
<blockquote
cite="mid:CAOL=nAqF21UjDy1bnLbenhO52mm0tGLDsJ9eSk6qEpzX6W1E1g@mail.gmail.com"
type="cite"><br>
<br>
<div class="gmail_quote">El 9 de julio de 2012 14:12, Antonio
Evora <span dir="ltr"><<a moz-do-not-send="true"
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
moz-do-not-send="true" 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 moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
>> <a moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
> <a moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true" href="http://domonetic.com/blog"
target="_blank">http://domonetic.com/blog</a><br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Lazarus-es mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a>
</pre>
</blockquote>
Hola Maxi, gracias por contestar.<br>
Entonces no es posible como yo pretendía/creía. ¿Y mediante RTTI? Ya
que los formularios forman parte de la aplicación y en "algún sitio"
están guardados.<br>
<br>
¿Alguna idea?<br>
Un saludo.<br>
</body>
</html>