Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 22
erickperez6 Va por buen camino
database not assigned con fibplus

Saludos a todos,

Utilizo Delphi 7 y los fibplus 6.9.6

En varias ocasiones se me ha presentando algo extraño: tengo un datamodule que contiene los objetos de conexion a la base de datos (tfibdatabase y tfibtransaction) y muchos datasets de uso comun para toda la aplicacion asociados a estos. Pero sucede que dentro de algunas formas poseo algunos dataset que hacen referencia a los objetos de conexiones que estan en el datamodule. Pues sucede que cuando voy a crear la forma que posee el dataset, este me arroja inmediatamente el error "database not assigned for (nombredeldataset)" señalandome que el dataset no tiene ninguna base de datos asociada, cosa que no es cierta. Tengo muchas formas que contienen dataset, pero solo me presenta este error con las ultimas formas que he diseñado o modificado. Resuelvo el problema moviendo el dataset en cuestion al datamodule, pero no es la solucion que deseo, quiero que estos dataset se queden en la forma.

Todas las formas de la aplicacion son creadas en tiempo de ejecucion, menos el datamodule y la forma principal. He intentado debuggear donde ocurre exactamente el error y es justamente en el create de la forma, pero en el oncreate de la misma no tengo nada. Los dataset son activados en el onshow de la forma, pero el error ocurre antes.

alguna idea de lo que pasa ?
Responder Con Cita
  #2  
Antiguo 15-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.068
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por erickperez6 Ver Mensaje
Todas las formas de la aplicacion son creadas en tiempo de ejecucion, menos el datamodule y la forma principal.
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

Por cierto, no conozco tu caso, pero los dataset en el datamodule, que para eso están
Responder Con Cita
  #3  
Antiguo 15-10-2011
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aunque estoy de acuerdo con lo que dice Casimiro, si cambias la referencia al DataModule al evento OnActivate del formulario creo que se arreglará.


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 15-10-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 22
erickperez6 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
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); // aqui es donde me ocurre el error si la forma tiene un dataset

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.

Última edición por erickperez6 fecha: 15-10-2011 a las 14:48:35.
Responder Con Cita
  #5  
Antiguo 15-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.068
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por erickperez6 Ver Mensaje
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.
Cierto, no es motivo para que salte algún error.
¿Y dices que si el mismo dataset lo pones en un datamodule ya no sale el error?, eso sí que es raro también
Responder Con Cita
  #6  
Antiguo 15-10-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 22
erickperez6 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Cierto, no es motivo para que salte algún error.
¿Y dices que si el mismo dataset lo pones en un datamodule ya no sale el error?, eso sí que es raro también
Si, asi es, por los momentos estoy moviendo (copy/paste) estos dataset a un datamodule nuevo, y problema resuelto mientras se averigua el caso,

gracias,
Responder Con Cita
  #7  
Antiguo 15-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.068
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ni idea, nunca me he encontrado con un caso así. Pero es un poco preocupante, yo intentaría encontrar la procedencia del error, no me fiaría de entregar el programa al cliente sin solucionar ese detalle.
Responder Con Cita
  #8  
Antiguo 15-10-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 22
erickperez6 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ni idea, nunca me he encontrado con un caso así. Pero es un poco preocupante, yo intentaría encontrar la procedencia del error, no me fiaría de entregar el programa al cliente sin solucionar ese detalle.
totalmente de acuerdo contigo, seguiré investigando, estoy pensando actualizar las FIBPlus a una version mas reciente y seguir probando cuando tenga tiempo.... pero por ahora no se me ocurre otra cosa de inmediato
Responder Con Cita
  #9  
Antiguo 15-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.068
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Síguelo paso a paso con el debug, a ver.
Responder Con Cita
  #10  
Antiguo 17-10-2011
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 527
Poder: 22
IVAND Va por buen camino
Hola a todos

A mi me pasa lo mismo , pero con los IBX , el error en mi caso se da cuando trato en raras ocaciones de abrir o ejecutar una form en modo embebido (Jfactivesot son los componentes que uso) , en algunas form las cosas se arreglaron cuando ejecuto el abrir los dataset en el evento oncreate , en otros no el error persiste

Si por ejemplo en el datamodulo tengo un dataset , que lo tengo abierto en la forma 1 , y despues sin cerrar la forma 1 abro la forma 2 , me sale ese mensaje

La verdad que es un problema que aun no puedo resolver
__________________
IVAND
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Forms: FreeAndNil ó Release y la validación Assigned? jbautista Varios 13 09-02-2010 17:33:03
Assigned y Free gluglu Varios 4 14-05-2007 21:03:37
Invalid Pointer Operation con Free y Assigned adlfv OOP 3 07-10-2005 00:17:06
Database not assigned!! cwelx Conexión con bases de datos 1 29-09-2004 22:06:40
Left side cannot be assigned to gbece7mx7 Varios 2 29-10-2003 19:01:24


La franja horaria es GMT +2. Ahora son las 21:34:46.


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
Copyright 1996-2007 Club Delphi