VB STRUCT VC DLL
目的:现在在VC.NET内有一结构体,里面含有别的结构体指针。
在VB.NET内申明和此结构体一致的结构体以实现结构体的传递.
结构体形式如下:
// vc.net侧
typedef struct {
testB *tb; // 结构体表Entity配列
.......
}testA;
typedef struct {
.......
}testB ;
在VB。NET侧:
' testA struct
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
Public Structure testA
' 怎样定义结构体,才能实现传递?
<MarshalAs(UnmanagedType.LpStruct)> dim test as testB
...............
End Structure
' testb struct
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
Public Structure testB
..............
End Structure
上面的VB.NET侧的结构体的定义是错的,运行时出错:
Additional information: Can not marshal field test of type testA: Marshaling types to LPStruct is not supported on structure fields.
问题:
此结构体做为DLL的参数传递.
请教各位大侠:怎样在VB.NET内申明此结构体,以实现结构体的传递?
--------------------编程问答-------------------- 帮顶~ --------------------编程问答-------------------- 貌似VS2003不支持:“结构体内加结构体”这种传递方式,
那对于我这种CASE,应该怎么办?不会让我改成STRING数组吧。。。 --------------------编程问答-------------------- 谢1楼的兄弟了。
补充:.NET技术 , VB.NET