Ver Mensaje Individual
  #1  
Antiguo 25-11-2003
Muten Muten is offline
Miembro
 
Registrado: jul 2003
Posts: 33
Reputación: 0
Muten Va por buen camino
Question Acceso a método d 1 form dsd Módulo d Datos

Lo he hecho ciento de veces, y nunca me ha pasado nada, pero de buenas a primeras, al hacer referencia en un módulo de datos a un método público de un formulario, me da un error de memoria..
- Incluyo la unidad dentro del módulo de datos.
- Llamo al método desde el evento BeforePost de un DataSet que se encuentra en el módulo de datos.
- Cuando la ejecución del programa entra en el método y hace referencia a algún componente del formulario (p. ej. button1.Focused), se produce el error de acceso de memoria.

He observado (con un breakpoint) que al llamar al método desde el módulo de datos ( Form1.ValidaCampos(); ), la variable Form1 es igual a nil.

La única forma de que funcione bien, es usando una variable global a la q le asigno en el evento OnCreateForm el valor de "self" y anteponiendo esta variable a todos los componentes dentro del método. Pero me parece algo chapucero.

He estado observando, y en la unidad donde tengo definido el formulario, no puedo hacer referencia a él. Es decir: si pongo Form1.Caption al mirar con un watch su valor, me sale también "nil".
No sé si es debido al uso de componentes JFActiveSoft, o pq el formulario lo he creado dinámicamente... lo que sea, me esta dando mucho dolor de cabeza.
Un saludo!

Última edición por Muten fecha: 25-11-2003 a las 11:24:03.
Responder Con Cita