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
Started by
b_ernesto
, Apr 23 2014 08:33 AM
5 replies to this topic
#1
Posted 23 April 2014 - 08:33 AM
#2
Posted 23 April 2014 - 08:40 AM
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
Posted 23 April 2014 - 11:45 AM
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
Posted 23 April 2014 - 12:09 PM
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
Posted 24 April 2014 - 06:55 PM
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
Posted 28 April 2014 - 04:49 PM
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.