MFC-从不同对话框访问全局声明对象

MFC-从不同对话框访问全局声明对象,mfc,dialog,Mfc,Dialog,我有我的主对话框和一些小对话框打开的按钮在主 我将ABC类的对象X声明为主对话框的成员。 我想从任何对话框编辑对象X的获取和设置值 我怎么做?我读到不可能在MyApp.h或MyApp类中全局声明变量,但在重新定义时出现了链接器错误 我的主要解决方案是添加按钮: CNewDialog newdialog; newdialog.A=A; newdialog.DoModal(); A=newdialog.A; 行吗?或者还有其他解决办法吗 另一方面,只有在关闭newdialog之后,主对话框中才会出

我有我的主对话框和一些小对话框打开的按钮在主

我将ABC类的对象X声明为主对话框的成员。 我想从任何对话框编辑对象X的获取和设置值

我怎么做?我读到不可能在MyApp.h或MyApp类中全局声明变量,但在重新定义时出现了链接器错误

我的主要解决方案是添加按钮:

CNewDialog newdialog;
newdialog.A=A;
newdialog.DoModal();
A=newdialog.A;
行吗?或者还有其他解决办法吗


另一方面,只有在关闭newdialog之后,主对话框中才会出现可见的更改,我不希望出现这种情况。

我将使用使用Singleton模式设计的公共配置工具来解决您的任务

可以通过调用AfxGetMainWnd从任何地方访问主对话框对象。将返回的指针强制转换为指向主对话框类的指针。

只要其他AI在全局声明,代码就可以工作-您上面给出的代码放在哪里?什么是通用配置工具?这基本上是您的应用程序配置存储。此工具通常实现加载/保存序列化、参数和属性的getter/setter以及其他与配置相关的功能。