- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VCで作ったDLL【否 .Net】 配列)
VCで作ったDLL【否 .Net】 配列
このQ&Aのポイント
- VCでDLLを作り、VBから呼び出しています。関数Calcを__stdcallやdefファイルを使って呼び出せるようにし、VBから呼ぶのですが、うまくいきません。
- 具体的には、VCで作成したDLLをVBから呼び出そうとしていますが、メモリの書き込みに関する問題が発生しています。
- VBのコードでは、Declare Sub Calc Lib "SimpleDll.dll"の宣言を行い、Calc関数を呼び出しています。しかし、うまく動作していません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Declare 文がマズイです。(配列の渡し方も) 配列は、配列の構造定義を記録する部分とデータを記録する部分が分かれています。 この書き方だと、配列の構造定義を渡しているだけです。 ではどうするかというと、配列の先頭要素を渡します。 Declare Sub Calc Lib "SimpleDll.dll" (ByVal a As Long, ByVal b As Long, ByRef x As Long) として Call Calc(6, 4, x(0)) ※配列の要素が0からの場合 とします。
お礼
回答ありがとうございます。 配列の先頭要素をByRefで渡してやればよかったのですね。 無事動きました。