- ベストアンサー
構造体配列を引数とするDLL作成し、VBで呼ぶには?
はじめまして。 VisualC++6.0でDLLを作り、VisualBasic6.0にて VisualC++の関数をコールし、構造体配列の値を 渡そうとしていますがうまくいきません。 どなたかよい知恵をお貸しください。 宜しくお願い致します。 下記に、VisualC++6.0とVisualBasic6.0のやりとり を記します。 *====Visual C++ 6.0側===== typedef struct _DLP_MSGDATA { int flg; char msg[504]; int tmp; } DLP_MSGDATA; _declspec(dllexport) int _stdcall SampSub(int data, DLP_MSGDATA *mdata) { return( 0 ); } *====Visual Basic 5.0側===== Declare Function SampSub Lib "test.dll" Alias "_SampSub@8" _ ( _ ByVal tlp_id As Long, _ ByRef mdata() As DLP_TLP_MSGDATA _ ) As Long Type DLP_TLP_MSGDATA flg As Long msg As String * 504 tmp As Long End Type Private Sub test() Dim mdata(0 To 130) As DLP_TLP_MSGDATA Dim aa As Long Call SampSub( aa, mdata ) End sub
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
- hysteric5
- ベストアンサー率28% (4/14)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
- sha-girl
- ベストアンサー率52% (430/816)
- todo36
- ベストアンサー率58% (728/1234)
お礼
何度も回答ありがとうございました。 おかげさまで無事構造体配列の受け渡しができるようになりました。 第2引数の型をAnyに変更してなかったのが、問題でした。 ほんとうにありがとうございました。 とても助かりました。