CDialogベースのウィンドウを作成する際に問題が発生します。コードは先週うまくいきました。私が行った唯一の変更は、C++ dequeをハッシュ配列で置き換えることでした。私はCreateメソッドを呼び出してウィンドウの読み込みをスキップできるようにコード行をコメントアウトしました。今度は、コードはウィンドウを作成しません。MFC CDialog :: Createは失敗します。
Create関数はfalseを返し、GetLastError関数は0を返します。ウィンドウ内には、チェックボックスとリストコントロールだけのカストムコントロールを使用しません。私が知る限り(私はこの時点でデバッガを接続することはできません)、OnCreate関数とOnInitDialog関数はまったく呼び出されていません。
私が作成し、関数の戻り値をテストするために使用してきた私は、以下のコードを貼り付けましたし、GetLastError
BOOL result = ORDER_HANDLER_GUI.Create(OrderHandlerGUI::IDD, AfxGetMainWnd());
int error = ::GetLastError();
if(result)
AfxMessageBox("Created GUI");
else
{
CString msg;
msg.Format("%d", error);
AfxMessageBox("Could not create GUI");
AfxMessageBox(msg);
}
アップデート: 私は最終的にデバッガがアタッチ得ることができた(これは、ロードされたプラグインです何らかの理由でデバッガが気に入らなかったサードパーティのアプリケーションで)。コードをステップ実行した後、AfxGetMainWnd()がNULLを返すようです。私は今これについてより多くのテストをしています。
エラーコードとは何ですか? – DavidK
デバッガを接続できないのはなぜですか? –