C++ C++;MFC-在MFC DLL和WTL exe之间共享数据?

C++ C++;MFC-在MFC DLL和WTL exe之间共享数据?,c++,mfc,wtl,C++,Mfc,Wtl,我有一个MFC项目,它提供了一个GUI界面来操作复杂的数据结构(我们称之为复杂类)。我有一个WTL项目需要经常使用这个类。我希望能够只管理这个类的一个实例,并且不希望每个项目都有自己的复杂类副本 如果我想让这些项目共享这个类的一个实例,我将如何以安全可靠的方式进行呢?对我来说,唯一的选择似乎是基本上有两个类的副本(一个由MFC项目管理,一个由WTL端管理)。您不需要两个副本。您没有提到应用程序的结构,但我假设MFC项目是一个.exe,WTL项目是一个dll。从接受复杂类*的dll导出函数,并将其

我有一个MFC项目,它提供了一个GUI界面来操作复杂的数据结构(我们称之为复杂类)。我有一个WTL项目需要经常使用这个类。我希望能够只管理这个类的一个实例,并且不希望每个项目都有自己的复杂类副本


如果我想让这些项目共享这个类的一个实例,我将如何以安全可靠的方式进行呢?对我来说,唯一的选择似乎是基本上有两个类的副本(一个由MFC项目管理,一个由WTL端管理)。

您不需要两个副本。您没有提到应用程序的结构,但我假设MFC项目是一个.exe,WTL项目是一个dll。从接受复杂类*的dll导出函数,并将其存储在dll中以供使用。这里我假设ComplexdClass没有任何UI数据,也就是说,没有CWnd派生对象。如果是这样的话,您需要小心地正确包装您的HWND,或者坚持只使用win32消息传递(即,只使用::SendMessage)

这只是一般性的建议,你的问题对于其他任何事情都不够具体。例如,我不明白你为什么得出结论,你必须有两份副本。如果你只是把一个指针从一个传递到另一个,它们都可以访问它们