我已将* MFC * 项目从VC 6迁移到VS 2010项目。现在我们实现的自定义对话框使用 CDialog::DoModal并且它不工作并且在这一行失败 HRSRC hResource = ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG) 在新项目中它返回 Null而在旧项目中得到一个值。- 项目正常构建,所以我认为我不会忘记导入资源?- 我正在使用丝带在新项目中这是否与问题有关?- 我应该将自定义对话框的继承更改为CDialogEx吗?
更新了我创建了一个新的自定义对话框,它继承了 CDialog 和 DoModal 工作得很好问题出在 DoModal 中的那些行
hInst = AfxFindResourceHandle(m_lpszTemplateName, RT_DIALOG);
HRSRC hResource = ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG);
hDialogTemplate = LoadResource(hInst, hResource);
由于 hInst 无法正常返回,因此所有其他调用都失败了。该问题与使用另一个 dll 中的对话框和资源有关。我还是不明白为什么VS2010出现了这个问题,VS 6没有出现这个问题。而且这个问题怎么解决!