* 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 では発生しなかったのか、まだわかりません。また、この問題を解決するにはどうすればよいでしょうか。