Cで作成したDLLの関数をVB6.0から呼び出す事ができず、悩んでおります。
ご教授お願いします。
どの様な関数を呼び出そうとしているのかというと、以下の通りです。
<DLL Cで作成(コンパイラVC6)>
void WINAPI hoge(BSTR pgname,BSTR fmt,...){
~処理~
}
/* 宣言では頭にDLLExport*/
<呼出側 VB6.0で作成>
'宣言
Public Declare Function hoge Lib "hoge" _
(ByRef pgname as String , _
ByRef fmt as String , _
ParamArray args())
'呼出
call hoge("foo","baa","array1",2)
この様なコードを書いております。
C側、VB側ともに固定数の引数にしてみたところ、
通ったので「ParamArray args()」の定義が違うのではないか・・・?と思っているのですが、
どの様に宣言したらよい物なのでしょうか?
もしくは、そもそも全然違う箇所を間違っているのでしょうか?
宜しくお願いします。
※ 説明の足りない箇所があれば、仰ってください。
No.1ベストアンサー
- 回答日時:
この回答への補足
アドバイス有難うございます。
実際に作成した呼出側関数では、
それぞれを変数に格納した後、呼び出しております。
ByRef,ByValとも試してみたのですが、上手く行きませんでした。
おかげさまで解決致しました。
引数に関して、仰る通り「byval渡し」で解決致しました。
しかしながら、C側でvsprintfでは変数型の違いから上手く受け取れなかった様です。
(ここでおかしくなっておりました)
なので、fmtの%dやら%sやらを読み込んで、switchで型ごとにva_argで一つずつ取得することに致しました。
これは質問に書いておりませんでしたので、
分かろう筈がないですね^^;すいません。
Cの関数から呼び出した限りでは上手くいっていたので、問題ないはずと決めてかかっておりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Visual Basic(VBA) VBAに関する質問です 2 2022/03/30 22:44
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awk内でsystem関数を使用しfunc...
-
HTTPSのとき":"が"%3A"ではなく...
-
class指定したHTML要素の背景色...
-
Linux バイナリ実行できない "...
-
Perlから送信するメールのヘッ...
-
Boolean型配列中のTrueの有無を...
-
アンカーリンクをクリックさせ...
-
『名前空間』の意味を教えてく...
-
hogehogeの由来
-
Excel VBA の ChangeFileAccess
-
VB.NETで変数の型は自作...
-
プルダウンメニューをmouseout...
-
ifreamをリロードしたい
-
関数を呼び出すHTMLタグ<body o...
-
【正規表現】【javascript】CR...
-
static constメンバ変数(配列)...
-
構造体を引数で関数へ渡す
-
複数ファイルで使うグローバル...
-
「オブジェクトが必要です。」...
-
同じ型【ハイフンと数字】だけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じ型【ハイフンと数字】だけ...
-
ASP+アクセスでのSQLコメントに...
-
Boolean型配列中のTrueの有無を...
-
【正規表現】【javascript】CR...
-
Linux バイナリ実行できない "...
-
Vb.netのグローバル変数の宣言...
-
onclick指定関数の引数へローカ...
-
「オブジェクトが必要です。」...
-
Excel VBA の ChangeFileAccess
-
static constメンバ変数(配列)...
-
C# .NET DataGridView の行を追...
-
HTTPSのとき":"が"%3A"ではなく...
-
正規表現で半角数字1桁のみを全...
-
【Jquery】changeイベント毎にa...
-
ifreamをリロードしたい
-
javascriptで文字挿入でtoggle...
-
Imageコントロール vba
-
ボタンをクリックすると数が増...
-
MFCのキャプション変更
-
関数を呼び出すHTMLタグ<body o...
おすすめ情報