• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++アプリケーションフォームにDLLをリンク)

VC++アプリケーションフォームにDLLをリンクする方法

このQ&Aのポイント
  • VC++2010ExpressEditionのアプリケーションフォームでDLLの関数を利用する方法について
  • DLLを呼び出すようにプログラムを書いた際に発生するエラーの解決方法
  • DLLの構成と関数の仕様について

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

> では、このDLLを、ボタンを押した時に利用するには、Form1.hなどにどのようにコードを書けばよいのでしょうか。 ...コード読んだ? ちゃんと動作することを確認済みのものを提供しました。

Challenge_2012
質問者

お礼

いや、恐れ入りました。 あれほど短時間に回答頂いたので、てっきり、DLL_sampleだけを作って頂いたと思ってしまいました。 全部のソースが入っていました。そして、きちんと動作しました。 本当に、本当にありがとうございました。 あなた様に、なだれのごとく、よきことがおこりますように!

その他の回答 (3)

回答No.3

> ただ、このDLLは他のソフトも使っており、これを変更することは出来ません。 そのDLLが .h と .lib もいっしょに提供されているなら問題なし。ふつーにリンクすればいい。 そうでなければ、LoadLibrary/GetProcAddress/FreeLibrary することに。

Challenge_2012
質問者

お礼

ご回答ありがとうございました。 作成して頂いたDLLが他のソフトでもそのまま利用できるとのこと助かります。 では、このDLLを、ボタンを押した時に利用するには、Form1.hなどにどのようにコードを書けばよいのでしょうか。 LoadLibrary/GetProcAddress/FreeLibrary などの関数を試したのですが、ビルドするとエラーが出て、 「CLRとMTを同時に利用できない」などと表示されます。 また、これを解決しようと色々いじくっている間に、いっぱいエラーがでて収集がつかなくなりました。 要は、マルチスレッドの使い方が全く分からないので、どこに何を書けばよいのかわかりません。 何か、お手本になるコードやサイトがあれば教えて頂きたいと思います。 よろしくお願いします。

回答No.2

DLLよりも呼び出す側の問題だと思います。 ・呼び出す側のプロジェクトの種類 ・呼び出す側で行っていること (.libのリンク? LoadLibrary? etc.) ・エラーの内容 (基本はエラーメッセージをコピペする。パスなどは基本不要ですが) を書いてもらえれば,なんらかの解やヒントが出せるかもしれません。

Challenge_2012
質問者

お礼

早速のご回答、まことにありがとうございました。 情報不足で申し訳ありません。 プロジェクトの種類は、Visual C++ CLR Windowsフォームアプリケーションです。 ご指摘のように、DLLは問題なく、他のソフトで動いています。 そしてそれゆえに、DLLは変更することは出来ません。 フォームアプリケーションの中にどのようにプログラムすればよいかを教えてください。よろしくお願いします。

回答No.1

なんの問題もなくできちゃいました。 ※ 参考URLの DLL_sample.zip

参考URL:
https://skydrive.live.com/?cid=07c558f8e11e708f#cid=07C558F8E11E708F&id=7C558F8E11E708F%21216
Challenge_2012
質問者

お礼

DLL_sampleを作って頂き、まことにありがとうございました。 ただ、このDLLは他のソフトも使っており、これを変更することは出来ません。 これを利用する、ボタンなどを含むプロジェクトは、Visual C++ CLR Windowsフォームアプリケーションで作りました。 これにどのようなコードを追加すれば、DLLが利用できるか、教えていただければ幸いです。 よろしくお願いします。

関連するQ&A