下面的代码,创建一个属性表,在应用程序文件中没有问题。
.......
CProp_Sheet Pr_Sheet(_T("PS"));
CPr_Page_1 Pr_Page_1;
CPr_Page_2 Pr_Page_2;
Pr_Sheet.AddPage(&Pr_Page_1);
Pr_Sheet.AddPage(&Pr_Page_2);
m_pMainWnd = &Pr_Sheet;
int nResponse = Pr_Sheet.DoModal();
但是,当我在DLL中放入相同的代码并从另一个应用程序中的菜单项调用它时,m_pMainWnd
无法使用(应用程序中的菜单将在属性表后面保持可见)。
我试图创建一个句柄
CWnd * m_pWnd =& Pr_Sheet;
并在CProp_Sheet构造函数中使用m_pWnd
,但尽管在运行时正确编译失败总是发生在
CProp_Sheet::OnInitDialog().
提前感谢任何评论。