Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 03-ene-2007, 04:10   #1 (permalink)
user123 está en el buen camino
 
Fecha de Ingreso: abril-2003
Mensajes: 30
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
user123 está desconectado   Responder Citando
Antiguo 03-ene-2007, 06:07   #2 (permalink)
MaxExtreme ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
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.
MaxExtreme está desconectado   Responder Citando
Antiguo 03-ene-2007, 09:14   #3 (permalink)
user123 está en el buen camino
 
Fecha de Ingreso: abril-2003
Mensajes: 30
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
user123 está desconectado   Responder Citando
Antiguo 03-ene-2007, 09:42   #4 (permalink)
MaxExtreme ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
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.
MaxExtreme está desconectado   Responder Citando
Antiguo 03-ene-2007, 10:09   #5 (permalink)
user123 está en el buen camino
 
Fecha de Ingreso: abril-2003
Mensajes: 30
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 :)
user123 está desconectado   Responder Citando
Antiguo 03-ene-2007, 10:21   #6 (permalink)
MaxExtreme ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
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.
MaxExtreme está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:51.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93