DLLについて – プログラミング – Home

通知
すべてクリア

[解決済] DLLについて


バンヴィ
 バンヴィ
(@バンヴィ)
ゲスト
結合: 18年前
投稿: 19
Topic starter  

いつもお世話になっております。

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

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

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

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

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


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> DLL内でメッセージボックスを表示させたいのですがうまくいきません。
どのようにうまくいかないのでしょうか?

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


返信引用
バンヴィ
 バンヴィ
(@バンヴィ)
ゲスト
結合: 18年前
投稿: 19
Topic starter  

説明不足ですみません。まったく表示されません。

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;
}

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


返信引用
バンヴィ
 バンヴィ
(@バンヴィ)
ゲスト
結合: 18年前
投稿: 19
Topic starter  

追加:
DLLは正常に動いていました。
そこにエラー処理で、メッセージを出すようにしたいのです

よろしくお願いします。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

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

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


返信引用
バンヴィ
 バンヴィ
(@バンヴィ)
ゲスト
結合: 18年前
投稿: 19
Topic starter  

libとヘッダファイルを使ってリンクさせています

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

MessageBox(0,error,error,MB_OK);

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


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> を追加しても何の反応もないのです。
単に実行されるDLLを入れ替えていないだけとか。

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


返信引用
バンヴィ
 バンヴィ
(@バンヴィ)
ゲスト
結合: 18年前
投稿: 19
Topic starter  

Blue さんご指的ありがとうございます。

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

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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