• Lunes 18 de Noviembre de 2024, 00:38

Autor Tema:  Mfc Y Punteros  (Leído 1917 veces)

1cacalvo

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Mfc Y Punteros
« en: Lunes 3 de Julio de 2006, 12:18 »
0
Bueno tengo un problema y no he conseguido solucionarlo...

En una clase A declaro un puntero a una clase de datos X, pero no le asigno memoria, simplemente la declaro como puntero... Desde la clase A llamo a un dialogo pasandole el puntero a la clase de datos. Hasta aqui todo bien, recogo el puntero, le asigno me memoria en la clase del dialogo...

El problema viene cuando salgo del dialogo, bien con el boton OK o con el boton cancelar (las unicas formas de salir del dialgo), y regreso a mi clase A, en ese momento pierdo la dirección del puntero y me apunta a NULL...

Y he revisado el codigo por si se me habia escapado algun delete o algun NULL y en principio todo esta correcto...

           Si se les ocurre alguna cosilla de porque me pierde la referencia estaria muy agradecido :D

                              Un saludo

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Mfc Y Punteros
« Respuesta #1 en: Lunes 3 de Julio de 2006, 12:38 »
0
¿Lo depuraste? Viendo los sintomas lo mas probable es que nunca le estes asignando ningun valor a ese puntero realmente. Proba depurandolo a ver si podes ver realmente lo que esta pasando, sino me parece que tendremos que ver el codigo para darte mas ayuda.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

1cacalvo

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Mfc Y Punteros
« Respuesta #2 en: Lunes 3 de Julio de 2006, 12:58 »
0
Si si, lo depure unas cuantas veces... De hecho opero con el puntero en el dialogo, le asigno datos, utilizo sus metodos.. El problema viene en el momento que se cierra el dialogo y regreso a la clase que llama al dialgo entonces es cuando pierdo la dirección...

Una cosa que hago que igual viene por ahi el problema: En el constructor del dialogo recibo como parametro el puntero le asigno memoria y creo un puntero aux asignandole la dirección del puntero que recibo como parametro... Asi trabajo con esta variable auxiliar... Pero igual esta variable al cerrarse la ventana es destruida asi que perdiria la dirección en cuestión... NO SE TENDRE KE SEGUIR INVESTIGANDO :s

ivancp

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Re: Mfc Y Punteros
« Respuesta #3 en: Lunes 3 de Julio de 2006, 19:28 »
0
Para poder ayudarte, podrías decirnos de que tipo es la clase X y A,  el codigo de como realizas la llamada , y tambien el codigo que escribiste para utilizar la clase X despues de cerrar el dialogo?

es necesario todo eso por que con la explicacion que nos diste surgen esas dudas.
ivancp                

1cacalvo

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Mfc Y Punteros
« Respuesta #4 en: Martes 4 de Julio de 2006, 09:13 »
0
Bueno gracias a todos pero ya encontre el problema....

Y no era otro que al pasar un puntero perdia la dirección al salir de la función. Para arreglaro lo que hago es pasarlo como referencia a puntero y con esto solucione el problema!!! :D

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Mfc Y Punteros
« Respuesta #5 en: Martes 4 de Julio de 2006, 09:21 »
0
Supongo que en realidad jamas se le asignaba, como dije antes, ya que no lo pasabas como doble puntero e intentabas darle valor teniendo solo el puntero.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.