errorの意味、原因と解決方法 – プログラミング – Home

errorの意味、原因と解決方法
 
通知
すべてクリア

errorの意味、原因と解決方法


xyz
 xyz
(@xyz)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

こんにちわ、xyzといいます。お世話になります。

開発:Win2000/vc++6.0/MFC+SDK(今回はSDKで)

アプリの実行ファイルに、別途さくせいしたDLL内の関数をエクスポートして起動表示
し、後に終了すると、下記のようなエラーが出ます。

(メッセージボックス風に)
DLL Action *****Dll.exe -アプリケーションエラー-
0x3a7015ebの命令が0x00c51ec8のメモリを参照しました。
メモリがreadになることはできませんでした。
プログラムを終了するには「OK」をクリックしてください。

これはどのような意味で何が原因で起こったのかサッパリわかりません。同じような経
験をされた方、理解のできる方がおられましたらご教授していただけないでしょうか。
また、解決方法がありましたら幸いです。

よろしくお願いします。
                                 以上です。


引用解決済
トピックタグ
へたれ
 へたれ
(@へたれ)
ゲスト
結合: 23年前
投稿: 32
 

まだ Create されていないウィンドウのハンドル使用をしたり、
配列・リストなどで確保されている領域以上の部分を参照したりすると
起きるようです。


返信引用
渡り鳥
 渡り鳥
(@渡り鳥)
ゲスト
結合: 23年前
投稿: 14
 

DLL内でどのような処理を行っているか解かりませんが,
アプリケーションを終了させた時にDLL内で終了処理をしない時に
同じような状況が発生したことがあります.

 例:DLL内で作成したソケットを解放しないで終了した等

ちなみにMFCでした.


返信引用
xyz
 xyz
(@xyz)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

へたれさん、渡り鳥さん、ありがとうございます。

今のところ、DLLの作成と実装の勉強をしているところで、
「Windows2000プログラミング標準講座」の第20章DLLとセキュリティのサンプルをそ
のままコンパイル、実行して起きたものです。

BOOL WINAPI DllMain(HANDLE hInstance, DWORD what,
LPVOID Notused)
{
switch(what) {
case DLL_PROCESS_ATTACH:
MessageBox(HWND_DESKTOP, Process attaching DLL.,
DLL Action, MB_OK);
break;
case DLL_PROCESS_DETACH:
MessageBox(HWND_DESKTOP, Process detaching DLL.,
DLL Action, MB_OK);
break;
case DLL_THREAD_ATTACH:
MessageBox(HWND_DESKTOP, Thread attaching DLL.,
DLL Action, MB_OK);
break;
case DLL_THREAD_DETACH:
MessageBox(HWND_DESKTOP, Thread detaching DLL.,
DLL Action, MB_OK);
break;
}
return 1;
}

上記dllmainのDLL_PROCESS_DETACHのMessageBoxを削除するとエラーはでなくなりまし
た。このまま、使っても問題はないのでしょうか。よろしくお願いします。

                               以上です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました