Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Buscar clases en un TForm. (https://www.clubdelphi.com/foros/showthread.php?t=53740)

eduarcol 28-02-2008 14:23:00

Buscar clases en un TForm.
 
Perdon a todos si esto es mas facil de lo que parece, pero no doy con el truco.


Necesito saber en un momento dado todas las clases TForm que posea mi proyecto, para buscar dentro de ellas un grupo de propiedades.

Alguien tiene una idea de como puedo hacer esto??, saber en un momento dado todas las clases TForm??

la verdad es que no se si me explico. :confused:

Delphius 28-02-2008 14:52:02

Hola Eduardo,
Estuve pensando en tu pregunta... ¿Debe pograparge por la herencia?

Por ejemplo... si tu tienes 4 TClientes y todas descienden de TForm entonces ¿debería listaste 4 TClientes?

¿Lo que buscas es implmentar RTTI?

Estoy pensando en ello...

Saludos,

eduarcol 28-02-2008 15:02:03

algo asi necesito, yo a los TForm les agrego un grupo de propiedades, ahora cuando abra la pantalla de usuarios me va a mostrar un TreeView con el arbol del menu, y cuando le de a la opcion del menu que abre me muestre el grupo de propiedades que serian acceso de usuarios, esto lo hago para que cuando agregue un nuevo formulario al sistema no tener qe actualizar la tabla de usuarios ni la pantalla, que todo sea dinamico

:D:D

Delphius 28-02-2008 15:17:29

¿No necesariamente deben estar creados? Por que sólo consigo acceder a los que están creados amigo....

La verdad es que no recuerdo como se puede acceder a la lista de todos los TForms que contenga la aplicacción.... estén o no creados...

Por el momento tengo esto:
Código Delphi [-]
for i := 0 to Application.ComponentCount - 1 do
   ListBox1.Items.Add ( TForm(Application.Components[i]).ClassName);

Dame un tiempo y lo saco:)

Saludos,

Delphius 28-02-2008 15:22:35

Y ahora que lo veo... ese método Lista a THintWindow:o

Si sólo es necesario los creados creería que bastaría con recorrer el arreglo Screen.Forms. Y hacer el moldeo de tipos, por las dudas...

Saludos,

eduarcol 28-02-2008 15:26:05

Es que ese es el problema, es posible que en el momento que necesite la lista no este creado ninguno, solo el de la configuracion de los usuarios.

Bueno si necesitas tiempo, con gusto te doy 5 minutos no tardes :rolleyes::D

Delphius 28-02-2008 15:34:57

Ummm... ahora que lo pienso... no bastará para tener "acceso" a dichas formas si se procede con la registración explícita en la sección initialization?

Código Delphi [-]
Initialization
RegisterClass(...);

Saludos,

eduarcol 28-02-2008 15:39:15

Cita:

Empezado por Delphius (Mensaje 269351)
Ummm... ahora que lo pienso... no bastará para tener "acceso" a dichas formas si se procede con la registración explícita en la sección initialization?

Código Delphi [-]
Initialization
RegisterClass(...);

Saludos,

voy a revisar a ver que es lo que dices.

Por cierto, no podrias enviarme el codigo que lo haga, un ejemplo y si te es posible un sistema de facturacion con niveles de usuarios?

:D:D

Delphius 28-02-2008 15:46:18

Cita:

Empezado por eduarcol (Mensaje 269353)
voy a revisar a ver que es lo que dices.

Por cierto, no podrias enviarme el codigo que lo haga, un ejemplo y si te es posible un sistema de facturacion con niveles de usuarios?

Pues acabo de probar y no funciona. No basta con hacer el RegisterClass...
¡El bosque no me deja ver el árbol!:(

jeje... ¿puede ser en cobol?:D:D:D

Seguiré explorando la VCL... hay algo que no me anda cuadrando:o:confused:
Ahora el vientre me llama en un rato vuelvo. Si es que puedo darme un tiempo... supuestamente debo ir a la facultad...

Saludos,

Delphius 28-02-2008 16:14:23

Amigo Eduardo, esto tal vez te interese:
http://www.clubdelphi.com/foros/show...=RegisterClass
http://www.clubdelphi.com/foros/show...=registerclass

Saludos,

eduarcol 28-02-2008 16:35:47

ok voy a leer un poco.

eduarcol 28-02-2008 19:17:51

Gracias por el Link Delphius, alli esta la solucion, explicada muy bien por AL

Al González 28-02-2008 22:01:07

Cita:

Empezado por eduarcol (Mensaje 269458)
Gracias por el Link Delphius, alli esta la solucion, explicada muy bien por AL

¡Qué! ¿Yo qué? A mí dímelo de frente. :D (broma)

eduarcol 28-02-2008 22:30:11

Cita:

Empezado por Al González (Mensaje 269528)
¡Qué! ¿Yo qué? A mí dímelo de frente. :D (broma)


Me canso, :D:D

GRACIAS AL


La franja horaria es GMT +2. Ahora son las 12:56:45.

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