Ir al contenido



Foto

Orden de Creación de Formulacios


  • Por favor identifícate para responder
5 respuestas en este tema

#1 b_ernesto

b_ernesto

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 23 abril 2014 - 08:33

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 !!
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.076 mensajes
  • LocationMéxico

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
  • 0

#3 b_ernesto

b_ernesto

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

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.
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.076 mensajes
  • LocationMéxico

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. (y)

Saludos
  • 0

#5 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 824 mensajes
  • LocationMisiones, Argentina

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.
  • 0

#6 b_ernesto

b_ernesto

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

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.
  • 0