0
Debug Assertion Failed!
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\objcore.cpp Line: 40

Use MFC in a Static Libraryデバッグ構成を使用して MFC ウィンドウを DoModal (または作成) しようとすると、この問題が発生しますDynamic Library (.dll)。リリース構成ではすべて問題ありませんが、dll をデバッグできません。MS対2010

4

1 に答える 1

1

コードはリリース ビルドでは意味のない ASSERT を使用しているため、リリース ビルドでは発生しません。ASSERT はデバッグ ツールです。

驚かれるかもしれませんが、MFC は Windows モーダル ダイアログを使用しません。Create または DoModal を呼び出すと、ウィンドウのモードレス ダイアログが作成されます。MFC は、親ウィンドウ (存在する場合) を無効にすることでモダリティを実現し、ダイアログにアプリケーション メッセージ ループと同様の独自のメッセージ処理ループを提供します。

そのため、Create や DoModal を使用しても同じ結果が得られます。

ダイアログが表示される前に発生しますか?

投稿に表示されるエラーは、アプリ コードのどこかで、インスタンス化されておらず、ダイアログの初期化中に NULL であるオブジェクトを使用しようとしていることを示しています。IsKindOf チェックに失敗したようです。

プロジェクトを圧縮して投稿し、デバッグしてもらうことはできますか?

于 2012-05-20T13:21:32.380 に答える