Riverside Learning LABO(Skill/Idea/Code)

よりよいシステムのため工学系と人間系の学習下書きメモ

VBからCのDLLを使用するメモ

                                                                                                                          • -

VBからCのDLLを使用するメモ

VB側で構造体配列として宣言した変数をCのDLLに渡す場合、属性指定が必要である。


【例】StTest変数をCのDLLに渡して、構造体の中を変更させる場合
■構造体
_
Public Structure StSample
Dim aaa As Integer
Dim bbb As Double
End Structure


■変数宣言
Public StTest() As StSample


■関数宣言
Private Declare Function TESTFUNC Lib "TARGET.dll" Alias "testfunc" ( _
ByRef RecCnt As Integer, _
ByVal StTest() As StSample _
) As Integer


上記関数を使って変更する。
DLL側で変数の内容を変更しない場合は、InAttribute属性だけでもよい...