![]() |
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 |
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. |
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 |
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. |
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 :) |
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. |
| La zona horaria es GMT -6. Ahora son las 06:43. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.