VB.NETで構造体をdllファイルに渡すには?


ddd  2004-06-16 19:56:39  No: 84043  IP: [192.*.*.*]

[OSのVER]:XP
[VBのVER]:VB.NET

VB.NETでdllファイルの読み込みを行っているのですが、
うまくいかないので教えてください。

Aという構造体があり、構造体の中にはdataというバイト型の配列があります。
そこで,dllファイルに構造体の型でデータを渡すと、dataに何かしらデータを返してくれるようになっています。

しかし、構造体のデータを渡してもNothingで返ってきて、
パラメータ 'A' に対して引数が指定されていません。  
とうエラーメッセージが出力されます。

たぶんdllファイルを読み込むところに、引数を渡せていない気がします。

この原因と対処方法を教えてください。
 
わかりずらいかもしれませんが、お願いいたします。

<構造体の定義>
 Public Structure A
        Public Data() As Byte

        Public Sub Initialize()
            ReDim szData(100)
        End Sub

  End Structure

<dllファイル読み込み>
Public Declare Function Read_Data Lib "test.dll" (ByRef u_dat As A) As Integer
  

<Read_Data にデータを渡している箇所>
   Dim rcvData As A
   
    rcvData.Initialize()
       
     rcvData.szData(0) = Hex(0)
    
  blnRet =   Read_Data (rcvData)
  

ちなみにVb6の構造体の定義
Private Type 
    Data(100) As Byte    
End Type

と定義するとうまくいきます

編集    削除