掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLL固有のメインフレームの破棄 (ID:71997)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
例えばの話。 void showWindow(HWND parent) { CWnd window; window.CreateEx(0, AfxRegisterWndClass(0), TEXT(""), WS_OVERLAPPED | WS_VISIBLE, 0, 0, 100, 100, parent, NULL); window.PostMessage(WM_CLOSE); } 上記の様なコードがあった場合、window::OnClose() は呼ばれない。以下其の理由。 1、PostMessage(WM_CLOSE) でメッセージキューに WM_CLOSE が置かれる 2、showWindow() を抜ける。同時に window インスタンスが破棄される 3、window::~window() で DestroyWindow() が実行される。 4、showWindow() を抜けた後、メッセージキュー に置かれた WM_CLOSE がディスパッチされる 5、だが送出先である window はもう死んでいる 実際にどんな構成で組まれているのか知らないので可能性に過ぎないが… CMainFrame(DLL①) が上記の様な扱いをされている可能性は無いかい?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.