PDA

Ver la Versión Completa : Problema con Data Module


FerCastro
18-01-2008, 21:08:53
Hola al foro,

Tengo un problema con una pequeña aplicación que estoy comenzando:

Un formulario principal, un datamodule. Cuando accedo a un elemento del datamodule el sistema me manda error de memoria.

IF NOT DM.Conexion.Connected then
DM.Conexion.Connected := TRUE


El pas está agregado correctamente al proyecto, al USES, pero cuando llega a esa condicional, o al querer hacer uso de un componente (sea table, query o dataSource) el sistema me marca error de acceso a memoria

ALguien ha tenido este mismo problema o pudieran decirme donde esta el error? Lo habia hecho otras veces sin problema pero ahora no doy bola con eso.

Muchas gracias

Fernando Castro
Mexico

- He probado con D7 y D2007 y mismo resultado. COn Zeos y con MyDAC

enecumene
18-01-2008, 21:18:20
Hola, intentalo de estas manera a ver si te tira el mismo error:

IF Not DM.Conexion.Connected = False then
DM.Conexion.Connected := TRUE

Saludos.

jcarteagaf
18-01-2008, 21:18:38
Podrias colocar exactamente el error?

Has verificado si el Datamodule se esta creando?

Saludos

FerCastro
18-01-2008, 21:26:29
NO te puedo poner una imágen pq solo me permite poner imagenes de 1K. Pero el mensaje que manda es el siguiente:

Project x.exe raised exception class EAccessVioation with message: "Access Violation at adress 00570217 in module x.exe. Read of adress: 00000058.

Ahora, como puedo corroborar que se cree el objeto?

Agradezco tus comentarios.

enecumene
18-01-2008, 21:29:04
NO te puedo poner una imágen pq solo me permite poner imagenes de 1K. Pero el mensaje que manda es el siguiente:

Project x.exe raised exception class EAccessVioation with message: "Access Violation at adress 00570217 in module x.exe. Read of adress: 00000058.

Ahora, como puedo corroborar que se cree el objeto?

Agradezco tus comentarios.

Verifica si el datamodule esta en autocreate Forms y no en alvailable forms en Projects->Options.

Saludos.

FerCastro
18-01-2008, 21:33:34
El DataModule está dentro de las Auto Create forms.

Saludos y muchas gracias

enecumene
18-01-2008, 21:38:42
Bueno por Ultimo en que evento estas colocando el codigo?

Saludos.

FerCastro
18-01-2008, 21:51:50
Amigo,

Me has aclarado las cosas. El evento era :

OnCreate

Y supongo que estaba llamando al DataModule antes de que se creara. Lo he cambiado al OnShow y listo, problema resuelto.

Agradezco infinitamente la ayuda.

Fernando Castro
Mexico. D.F.

jachguate
18-01-2008, 21:53:51
Es muy probable que en el momento que estas tratando de usar la variable DM, esta aún no haya sido creada.

Ocurriría por ejemplo si la sentencia en cuestión está en el evento OnCreate del formulario, y el módulo de datos se crea después del formulario. Esto se puede resolver fácilmente cambiando el orden de creación de los objetos.

Hasta luego.

;)

jcarteagaf
18-01-2008, 21:54:53
Me parece que estar llamando en el evento onshow o oncreate de tu mainform.

Ingresa a Projects|Options|Forms y haz que el Datamodule se cree antes que el Form principal simplemente cambiando el orden de las formas en el listbox de Autocreate forms.

Saludos.

[EDITADO]Vaya jachguate me gano por segundos, maldita conexion de 128 Kbps

FerCastro
18-01-2008, 21:55:47
JachGuate,

Muchas gracias, por ahi iba el asunto. Ya está resuelto.

Saludos

jachguate
18-01-2008, 22:03:32
Vaya jachguate me gano por segundos, maldita conexion de 128 Kbps

:D:D:D

Mirá que soy lento para responder. En ocasiones dejo un hilo abierto por un buen rato antes de responderlo. Es cuestión de suerte.. :rolleyes: