Cita:
Empezado por Casimiro Notevi
Pues creo que tú mismo has dado con la solución, si creas una Form que tiene un Dataset que apunta a un Datamodule que no está creado... pues eso 
|
Gracias por responder casimiro,//
Creo que no me explique bien, cuando digo que solo el datamodule y la forma principal no son creada en tiempo de ejecucion es porque ya vienen autocreadas desde que se inicializa la aplicacion:
Código Delphi
[-]Application.Initialize;
Application.CreateForm(Tdatamodule1, datamodule1);
Application.CreateForm(Tfrm_main1, frm_main1);
Application.Run;
Es decir, el datamodule siempre esta creado desde el inicio. Luego, todas las otras formas de la aplicacion las voy creado en tiempo de ejecucion cuando las vaya necesitando:
Código Delphi
[-]frm_especial := tfrm_especial.create(nil);
El en oncreate de la forma no tengo absolutamente nada. El dataset tiene asignado su database en tiempo de diseño, y algunas otras formas tienen ya dataset incluidos y no me dan error, solo me presentan el error las ultimas formas que voy trabajando o construyendo.
Cita:
Por cierto, no conozco tu caso, pero los dataset en el datamodule, que para eso están
|
En el datamodule solo meto los dataset que utilizaré en mas de una forma, pero cuando utilizo un dataset solo una vez pues lo dejo en la forma que lo necesitará, de ese modo es mas legible para mi la organizacion de la aplicacion y no cargo mas el datamodule que de por si ya lo esta.
Aunque estoy pensando en crear un datamodule nuevo y meter todos los dataset que me vayan presentando este error, pero no me gusta esa solucion, siento que le estoy corriendo a la verdadera causa del problema. He pensado que pudiera ser algun bug de la version de FIBPlus que utilizo (6.9.6), ya que el error se produce en los construtores de los dataset. Ademas, no le veo sentido a que presente este error porque los dataset no estan activos en el momento del error, y aunque no tuvieran database asignada explicitamente, no debe de presentar ningun error si estos dataset no se estan utilizando ni estan abiertos.
