Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Listar todos los Formularios de mi Apliacion (https://www.clubdelphi.com/foros/showthread.php?t=38903)

BuenaOnda 03-01-2007 23:12:19

Listar todos los Formularios de mi Apliacion
 
Hola amigos...

alguien sabe de que manera puedo obtener los nombres de todos los formularios que posee mi aplicacion...

Muchas gracias...

seoane 04-01-2007 00:04:47

Prueba con esto:

Código Delphi [-]
var
  i: integer;
begin
  for i:= 0 to Screen.FormCount - 1 do
    ShowMessage(Screen.Forms[i].Name);
end;

BuenaOnda 04-01-2007 14:22:27

perfecto...!!
 
eso era.. muchas gracias seoane.. me funciono de maravillas :) :)

BuenaOnda 04-01-2007 14:29:51

pero sigo con problemas
 
el codigo me funcioo impecalbe, pero solo si los formularios estan creados por la aplicacion a principio, en cambio lo que y necesito es, de alguna manera, rescatar los nombres de los formularios, sin tener que crearlos al principio de mi aplicacon, ya que yo los creo y lo libero de memoria solo cuando es necesario..

IF(frmConfiguracion=NIL)THEN
Application.CreateForm(TfrmConfiguracion,frmConfiguracion);

frmConfiguracion.ShowModal;
frmConfiguracion.Free;
frmConfiguracion:=NIL;

muchas gracias...

Lepe 04-01-2007 14:50:15

El código funciona correctamente. ¿No será que lo llamas cuando no debes?, Me explico mejor. Ese código que has puesto muestra la ventana con ShowModal, cuando la ventana se cierra, se libera, por tanto ya no está en memoria, y no aparecerá en la rutina que ha puesto Seoane. Para que aparezca, deberás ejecutar el bucle desde el propio frmConfiguracion (¿mediante un botón de prueba?).

Otro detalle que pueda estar pasando: que el nombre del Formulario esté en blanco (muy raro, mucho, pero en fin), sugiero que al código de Seoane, añadas:
Código Delphi [-]
ShowMessage('Class '+ Screen.Forms[i].ClassName+ ' Name '+ Screen.Forms[i].Name);

Edito:
frmConfiguracion.Free;
frmConfiguracion:=NIL;

Puedes sustituirlo por : FreeAndNil(frmConfiguracion)



Saludos

BuenaOnda 04-01-2007 14:52:40

Muchas gracias amigo....
 
Ok... voy a probar gracias por tu ayuda :D


La franja horaria es GMT +2. Ahora son las 02:06:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi