通知
すべてクリア
Topic starter
2002年8月21日 2:50 AM
W-NT VC++2.0 MFC
実行中のアプリの名前を求めるため
dLLの中につぎのコーディングをいれたところ、AfxGetInstanceHandle関数を実行したとき
アプリのなかでassert エラーが起きました。
hInst=AfxGetInstanceHandle();
GetModuleFileName(hInst,&path,size);
どなたか理由がわかるでしょうか?
よろしくおねがいします。
なおGetModuFileName(NULL,&path,size);だけにするとpathが取得でき、
エラーも起きません。
2002年8月21日 7:22 AM
NULL値が返却されているようですが
コードを記述している場所に問題は無いのでしょうか
2002年8月21日 9:48 AM
AfxGetInstanceHandle()はMFCが初期化される前に呼び出すと失敗します。
たとえば、static定義されたクラスオブジェクトのコンストラクタなど。
Topic starter
2002年8月24日 4:12 PM
woodさん、dairygoodsさん
ありがとうございます。
エラーの原因はまだ特定できてないのですが
質問があります。
hInst=AfxGetInstanceHandle();
GetModuleFileName(hInst,&path,size);
で求めたpathと
GetModuleFileName(NULL,&path,size);
で求めるpathは同じものになると思っているのですが
pathに違いがでてくるのはexeとDllの位置関係がどのような場合ですか?