dポイントプレゼントキャンペーン実施中!

VBから自作のCプログラムを呼び出したいです。
ダイナミックリンクライブラリ(dll)を使わない解もあるのでしょう。
私は、Cのダイナミックリンクライブラリ(dll)を自作して、Cから呼び出す方法を探りました。
VCの新規作成メニュに、Win 32 Dynamic-Link Libraryがあるので、これを使えばいいのではと思うのですが、ソースでどう宣言したらいいのか、それをCから、またVBから、どのように呼び出すかがわかりません。WinAPIのように宣言して使うのかなと思うのですが。
なお、.NETでない解決法を知りたいです。

ご存知の方よろしくお願いします。

A 回答 (3件)

>そのdllはどこか決まったディレクトリ(ystem32?)におくのでしょうか?



WindowsではこのAPIが検索する順番にファイルが検索されます。覚えておくべきでしょう。
SearchPath
http://www.microsoft.com/japan/msdn/library/defa …
ここの1~6のどこかにおく必要があります。
もしくは、DeclareステートメントでDLL名を記述する際に、
フルパスで記述します。


>また、Cから呼び出す場合、どう書けばいいでしょうか?
>簡単なコーディング例があればうれしいです。

VBはActiveXDLLやActiveXEXEなどにする必要があります。
で、これを呼ぶにはCよりもC++が楽ですというか、Cだとちょっとつらいですよ。

googleで、
#import VB DLL

こんなキーワードで調べるとサンプルは出てくると思います。
    • good
    • 0
この回答へのお礼

taka_tetsuさん

ありがとうございます。
サイトを紹介していただいたので、これから調べてみます。

お礼日時:2003/11/22 09:59

DLLと言ってもAPIでやる方法とCOM(ActiveX.DLL)でやる方法があります。


後者がお勧めです。
詳しくはネットで検索して。
    • good
    • 0
この回答へのお礼

todo36さん

お答えありがとうございます。
詳しくはネットで検索して とのことですが、
どんなサイトがお勧めですか?

お礼日時:2003/11/20 16:04

>WinAPIのように宣言して使うのかなと思うのですが。



そのとおりです。
自分でDeclareステートメントを記述してください。


>ダイナミックリンクライブラリ(dll)を使わない解もあるのでしょう。

あとは、ActiveXEXEをCやC++で作るくらいでしょうかね。
    • good
    • 0
この回答へのお礼

taka_tetsuさん

お答えありがとうございます。

ちょっと込み入った追加質問で申し訳ありません。
もしご存知でしたら教えてください。

Declareステートメントを使うのは、
VBから呼び出す場合ですね。
そのdllはどこか決まったディレクトリ(ystem32?)におくのでしょうか?
また、Cから呼び出す場合、どう書けばいいでしょうか?
簡単なコーディング例があればうれしいです。

お礼日時:2003/11/20 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!