DLLについて

[戻る]
バンヴィ 2007/06/13(水) 11:39:38
いつもお世話になっております。

早速ですが質問させていただきます。

VC++6.0 MFC AppWizad で作成しています。

DLL内でメッセージボックスを表示させたいのですがうまくいきません。

DLLの選考資料が乏しく困っています。

ご存知の方ご教授願います。

Blue 2007/06/13(水) 11:55:38
> DLL内でメッセージボックスを表示させたいのですがうまくいきません。
どのようにうまくいかないのでしょうか?

うまくいかないだけでわかる人はいないと思いますよ。

バンヴィ 2007/06/13(水) 12:01:33
説明不足ですみません。まったく表示されません。

ENZAN_API float __stdcall enzan(int value1, int value2)
{
 switch (value1)
 {
  case 1:                            
   fRe = (float)(value1 + value2);
   break;
  case 2:                            
   fRe = (float)(value1 - value2);
   break;
  default:
   fRe = 0;
   MessageBox(0,"error","error",MB_OK);
   break;
 }
 return fRe;
}

簡単に記述してみました。

バンヴィ 2007/06/13(水) 12:02:52
追加:
DLLは正常に動いていました。
そこにエラー処理で、メッセージを出すようにしたいのです

よろしくお願いします。

Blue 2007/06/13(水) 12:17:35
DLLのプロジェクトもあるのであれば、実行するexeを指定すればデバッグすることが出
来るはずです。(exe側からもステップインできるはずだけど)


どのようにリンクさせていますか?
libとヘッダファイルを使ってリンクさせていますか?
それともLoadLibrayで動的にリンクさせていますか?

バンヴィ 2007/06/13(水) 14:12:35
libとヘッダファイルを使ってリンクさせています

もともと、Exeのほうで表示させていたメッセージボックスを
DLL側で表示させたいのです。
(exe側にはこのメッセージに関して記述できない)

MessageBox(0,"error","error",MB_OK);

を追加しても何の反応もないのです。
何か特別な記述をしなければいけないのでしょうか??

Blue 2007/06/13(水) 17:35:13
> を追加しても何の反応もないのです。
単に実行されるDLLを入れ替えていないだけとか。

どのようにして実行しているかわかりませんが、exeと同じところにDLLをおいて
いるのであれば、DLLを作り直したときにコピーなりしないと意味ないです。

バンヴィ 2007/06/14(木) 09:45:16
[[解決]]
Blue さんご指的ありがとうございます。

確かに毎回入れ替えを行っていませんでした。
単純ミスで申し訳ないです。

入れ替えたところ正常に表示されました。

古いスレッドには追加発言できません。