Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Variable global para compartir informacion entre dialogos (MFC)

Estas en el tema de Variable global para compartir informacion entre dialogos (MFC) en el foro de C/C++ en Foros del Web. Hola!, El caso es que tengo un proyecto en MFC y la siguiente duda: Tengo que compartir informacion entre diferentes dialogs. Me gustaría crear un ...
  #1 (permalink)  
Antiguo 03/01/2007, 05:10
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Variable global para compartir informacion entre dialogos (MFC)

Hola!,

El caso es que tengo un proyecto en MFC y la siguiente duda:

Tengo que compartir informacion entre diferentes dialogs. Me gustaría crear un puntero a un objeto de la clase clase1( que contiene diferentes tipos de vectores, etc... vamos, toda la informacion con la que voy a trabajar) y poder utilizarlo en diferentes dialogos de manera que la información sea consistente. Donde debería declararlo? En miproyectodlg.h? antes de ninguna declaracion? Donde lo inicializo ? (vamos, uso el new?)

Muchas gracias
  #2 (permalink)  
Antiguo 03/01/2007, 07:07
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Variable global para compartir informacion entre dialogos (MFC)

Instancia la clase donde esté la lógica de tu programa, y declárala en su .h correspondiente como "extern".

Podrás acceder a ella desde cualquier punto por su propio nombre.
  #3 (permalink)  
Antiguo 03/01/2007, 10:14
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Re: Variable global para compartir informacion entre dialogos (MFC)

¿Pero donde la instancio? ¿En la propia clase?

Si por ejemplo tengo

clase1.h
________

class clase1{
...
};


clase1.cpp
___________

clase1::metodo1(...){...}
clase1::metodo2(...){...}
...
clase1::metodon(...){...}


Donde pongo el extern y donde se instancia?

Thanx
  #4 (permalink)  
Antiguo 03/01/2007, 10:42
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Variable global para compartir informacion entre dialogos (MFC)

Instanciar es crear un objeto partiendo de una clase.

Instancia tu clase en algún .cpp, y en su .h correspondiente, declárala como extern.
  #5 (permalink)  
Antiguo 03/01/2007, 11:09
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Re: Variable global para compartir informacion entre dialogos (MFC)

Yo pensaba que el extern habia que ponerlo en los ficheros que usaban esa variable , pero no en el .h de donde se declara. No debería poner static o algo así? es que solo con extern en el .h no me lo reconoce en otros ficheros. He probado a crear un archivo .h solo para eso en la que lo declaro como static, y compila y linka bien, pero es como si creara diferentes copias, pues los cambios que hago en un lado no quedan reflejados cuando accedo por otro lado.

En cualquier caso muchas gracias por la info :)
  #6 (permalink)  
Antiguo 03/01/2007, 11:21
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Variable global para compartir informacion entre dialogos (MFC)

No, static no es.

Repito, es extern, en un .h, y luego simplemente incluye ese .h en donde quieras usar la clase.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:12.