【发布时间】:2019-10-09 14:13:47
【问题描述】:
我的静态库中的对话框和图标资源有问题。 我用 Visual Studio 2008 创建了一个 MFC 静态库。
我正在从Win32 应用程序调用静态库中的Func(),它试图在静态库中启动一个 MFC 对话框。
当我试图访问资源时,我得到 afxCurrentResourceHandle is NULL 断言。
我在Func() 中添加这一行AFX_MANAGE_STATE(AfxGetStaticModuleState()); 作为第一行。但这没有帮助。
我只需要使用静态库。根据要求,我不应该使用 dll。
请帮助我如何从非 MFC 应用程序启动 MFC 静态库中的对话框。
【问题讨论】:
-
@Algirdas 你建议的链接不能解决问题。
-
OT:这个问题让我觉得离家很近,因为我目前正在修复一个缺陷,这是因为有人将代码移动到静态库(从 .dll),导致在某些对话框中无法显示..
-
"你建议的链接没有解决问题。"你想要什么解决方案?静态库不能包含嵌入式资源。链接的问题解释说,虽然提供了几种解决方案,但围绕这种限制。
-
是的,这就是我所看到的问题。请重新阅读重复的建议,以便您了解解决问题的可能方法。正如我已经说过的,它的 TLDR 版本:静态库不能包含资源。