0

CWnd クラスの関数 GetParent() を呼び出そうとしています。例外がスローされるたびに。作業中のスレッドから関数を呼び出しています。

これが例外の原因となる行です: CWnd* parent = this->GetParent();

「GetParent()->PostMessage(........);」も試しましたが、それでも例外がスローされます。

私は CDialog でこのメソッドを使用しています。

CWnd メンバー m_hWnd が 0x00000000 または 0x00000001 になる場合があることに気付きました。別のコンピューターでは、この例外は発生しません。プロジェクト設定または私のコードに問題がありますか?

4

1 に答える 1

2

例外ではなく、アサーションを受け取ります。

VS 2010 からの実装は次のとおりです。

ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetParent(m_hWnd));

あなたの m_hWnd はウィンドウではありません...

于 2013-02-19T13:08:04.537 に答える