Hola amigos del foro Unigui, estoy tratando adaptar algunos módulos de un sistema administrativo, a una versión Web.
He creado mas de un DataModule. Tengo el problema que el DataModule 2 se crea antes que el DataModule 1, lo que produce que el DataModule 2 se encuentre con valores que aun no estan definidos.
Como puedo manejar el orden de Creación ?
No me queda claro en general, si todos los formularios se autocrean, o si se crean con XXForm.Show().
Unigui me parece una plataforma excelente, que esta a años luz de lo que yo (personalmente) podría hacer con PHP o herramietas similares.
Saludos !!
Orden de Creación de Formulacios
Comenzado por
b_ernesto
, abr 23 2014 08:33
5 respuestas en este tema
#1
Escrito 23 abril 2014 - 08:33
#2
Escrito 23 abril 2014 - 08:40
Hola b_ernesto bienvenido a DelphiAccess
En el menú Project --> Options --> Forms --> Auto create forms, se muestra el orden de como se crean las formas, ahí modifica el orden de los DataModules.
Saludos
En el menú Project --> Options --> Forms --> Auto create forms, se muestra el orden de como se crean las formas, ahí modifica el orden de los DataModules.
Saludos
#3
Escrito 23 abril 2014 - 11:45
Gracias por responder Egostar.
Cuando programo con un formulario normal (NO UNIGUI), o bien lo dejo en Available Forms y luego lo creo, o bien lo pongo en AutoCreate Forms y uso el .Show o el .ShowModal.
Con UNIGUI tengo todos los formularios en Available Forms.
Si los paso a AutoCreate Forms me da este Error al compilar (estoy usando Delphi XE3) :
[dcc32 Error] AdcomWeb.dpr(21): E2197 Constant object cannot be passed as var parameter
Lo extraño (aunque funciona), es que para llamar a un Form de UNIGUI, no uso el
Application.CreateForm(TVentanaForm,VentanaForm);
Directamente le envio VentanaForm.Show o ShowModal y ya esta creado, aunque no esté en AutoCreate Forms.
Pareciera que los crea cuando se envia el Show. Porque en ese momento se ejecuta el evento OnCreate del form.
Saludos y Gracias.
Cuando programo con un formulario normal (NO UNIGUI), o bien lo dejo en Available Forms y luego lo creo, o bien lo pongo en AutoCreate Forms y uso el .Show o el .ShowModal.
Con UNIGUI tengo todos los formularios en Available Forms.
Si los paso a AutoCreate Forms me da este Error al compilar (estoy usando Delphi XE3) :
[dcc32 Error] AdcomWeb.dpr(21): E2197 Constant object cannot be passed as var parameter
Lo extraño (aunque funciona), es que para llamar a un Form de UNIGUI, no uso el
Application.CreateForm(TVentanaForm,VentanaForm);
Directamente le envio VentanaForm.Show o ShowModal y ya esta creado, aunque no esté en AutoCreate Forms.
Pareciera que los crea cuando se envia el Show. Porque en ese momento se ejecuta el evento OnCreate del form.
Saludos y Gracias.
#4
Escrito 23 abril 2014 - 12:09
Interesante comportamiento, no lo conocía, alguna vez hice algunas pruebas con UNIGUI, pero abandoné el barco para meterme a otro segmento.
Espero que los que saben, no tarden en aportar soluciones.
Saludos
Espero que los que saben, no tarden en aportar soluciones.
Saludos
#5
Escrito 24 abril 2014 - 06:55
Desconozco Unigui y te pido disculpas si estoy completamente perdido en la respuesta, pero: ¿no se te ocurrió revisar el archivo .DPR?, o sea abrir el archivo con <View Source> en elAdministrador de proyectos sobre el nombre de la aplicación. Pues la opción auto create form lo que hace es crear una entrada en este archivo donde entre otras cosas se encuentra la línea "Application.Run", se encuentra la palabra reservada "program" y se halla el único "end." de toda la plicación.
Yo suelo modificar este archivo a menudo para agregar comprobaciones y una pantalla de bienvenida a la aplicación.
Saludos.
Yo suelo modificar este archivo a menudo para agregar comprobaciones y una pantalla de bienvenida a la aplicación.
Saludos.
#6
Escrito 28 abril 2014 - 04:49
Hola Cram, gracias por tu respuesta.
Al final lo resolví, "haciendo como que" todos los formularios van a ser AutoCreate,
sacando el código del la parte OnCreate de los Datamodule
y pasandola a procesos, que llamo desde el primer form que se ejecuta.
Voy a tratar de seguir avanzando.
Me gustaría que este foro se moviera un poco más. Alguien esta haciendo algo con Unigui ?
Saludos a todos y gracias.
Al final lo resolví, "haciendo como que" todos los formularios van a ser AutoCreate,
sacando el código del la parte OnCreate de los Datamodule
y pasandola a procesos, que llamo desde el primer form que se ejecuta.
Voy a tratar de seguir avanzando.
Me gustaría que este foro se moviera un poco más. Alguien esta haciendo algo con Unigui ?
Saludos a todos y gracias.