- ベストアンサー
VC++アプリケーションフォームにDLLをリンクする方法
- VC++2010ExpressEditionのアプリケーションフォームでDLLの関数を利用する方法について
- DLLを呼び出すようにプログラムを書いた際に発生するエラーの解決方法
- DLLの構成と関数の仕様について
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> では、このDLLを、ボタンを押した時に利用するには、Form1.hなどにどのようにコードを書けばよいのでしょうか。 ...コード読んだ? ちゃんと動作することを確認済みのものを提供しました。
その他の回答 (3)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> ただ、このDLLは他のソフトも使っており、これを変更することは出来ません。 そのDLLが .h と .lib もいっしょに提供されているなら問題なし。ふつーにリンクすればいい。 そうでなければ、LoadLibrary/GetProcAddress/FreeLibrary することに。
お礼
ご回答ありがとうございました。 作成して頂いたDLLが他のソフトでもそのまま利用できるとのこと助かります。 では、このDLLを、ボタンを押した時に利用するには、Form1.hなどにどのようにコードを書けばよいのでしょうか。 LoadLibrary/GetProcAddress/FreeLibrary などの関数を試したのですが、ビルドするとエラーが出て、 「CLRとMTを同時に利用できない」などと表示されます。 また、これを解決しようと色々いじくっている間に、いっぱいエラーがでて収集がつかなくなりました。 要は、マルチスレッドの使い方が全く分からないので、どこに何を書けばよいのかわかりません。 何か、お手本になるコードやサイトがあれば教えて頂きたいと思います。 よろしくお願いします。
- Yune-Kichi
- ベストアンサー率74% (465/626)
DLLよりも呼び出す側の問題だと思います。 ・呼び出す側のプロジェクトの種類 ・呼び出す側で行っていること (.libのリンク? LoadLibrary? etc.) ・エラーの内容 (基本はエラーメッセージをコピペする。パスなどは基本不要ですが) を書いてもらえれば,なんらかの解やヒントが出せるかもしれません。
お礼
早速のご回答、まことにありがとうございました。 情報不足で申し訳ありません。 プロジェクトの種類は、Visual C++ CLR Windowsフォームアプリケーションです。 ご指摘のように、DLLは問題なく、他のソフトで動いています。 そしてそれゆえに、DLLは変更することは出来ません。 フォームアプリケーションの中にどのようにプログラムすればよいかを教えてください。よろしくお願いします。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
なんの問題もなくできちゃいました。 ※ 参考URLの DLL_sample.zip
- 参考URL:
- https://skydrive.live.com/?cid=07c558f8e11e708f#cid=07C558F8E11E708F&id=7C558F8E11E708F%21216
お礼
DLL_sampleを作って頂き、まことにありがとうございました。 ただ、このDLLは他のソフトも使っており、これを変更することは出来ません。 これを利用する、ボタンなどを含むプロジェクトは、Visual C++ CLR Windowsフォームアプリケーションで作りました。 これにどのようなコードを追加すれば、DLLが利用できるか、教えていただければ幸いです。 よろしくお願いします。
お礼
いや、恐れ入りました。 あれほど短時間に回答頂いたので、てっきり、DLL_sampleだけを作って頂いたと思ってしまいました。 全部のソースが入っていました。そして、きちんと動作しました。 本当に、本当にありがとうございました。 あなた様に、なだれのごとく、よきことがおこりますように!