高分请教如何传递一个结构体从VC COM组件-〉.NET VB程序?(在线等待)
struct tstruct_t {
int i;
BSTR str;
int j;
};
typedef
[
uuid(633CCB72-AFD2-4904-98D4-5788AE81147B),
helpstring("tstruct_t structure")
]
struct tstruct_t datat;
HRESULT testfunc1([in,out] VARIANT *ptests);
在com中定义如下:
在调试时发现在com中返回的是安全数组,可以取可以取到vb.net端传过来的字符数据,但是在vb端调用时会出现以下错误:
"The specified record cannot be mapped to a managed value class."
参考以下链接:http://support.microsoft.com/default.aspx?scid=kb;en-us;309329
解决方案是说:"To resolve this problem, construct a custom marshaler that adds this functionality. "
不知怎么解决?
int i;
BSTR str;
int j;
};
typedef
[
uuid(633CCB72-AFD2-4904-98D4-5788AE81147B),
helpstring("tstruct_t structure")
]
struct tstruct_t datat;
HRESULT testfunc1([in,out] VARIANT *ptests);
在com中定义如下:
在调试时发现在com中返回的是安全数组,可以取可以取到vb.net端传过来的字符数据,但是在vb端调用时会出现以下错误:
"The specified record cannot be mapped to a managed value class."
参考以下链接:http://support.microsoft.com/default.aspx?scid=kb;en-us;309329
解决方案是说:"To resolve this problem, construct a custom marshaler that adds this functionality. "
不知怎么解决?
...全文
相关推荐
VB和VC制作的dll中参数是结构体的传递
**数据的传递和接收**:在VB中,创建一个结构体实例,然后调用DLL函数并传递该实例。在VC的DLL函数内部,通过指针访问并修改结构体成员。完成后,VB中的结构体会反映出这些变化。6.
VB和VC 结构体Dll参数传递
兼容性问题:VB.NET的结构体自动包含一个隐藏的SyncLock字段,这可能在传递给VC++时造成额外的字节,导致结构体大小不匹配。为了解决这些挑战,我们可以采取以下策略:1.
VC C# COM组件
在本主题中,我们将深入探讨如何使用VC6.0和C#来创建COM组件,以及如何在不同的开发环境中,如VC6.0、C#、VB6.0和VB.NET中调用这些组件。
三菱PLC 以太网通讯组件 及实例 vb.net以及vc.net对实例的应用
本主题将深入探讨三菱PLC的以太网通讯组件及其在vb.net和vc.net编程环境中的应用实例。
取得笔记本电池信息的程序(VC.NET+VB.NET)
本项目"取得笔记本电池信息的程序(VC.NET+VB.NET)"是一个很好的示例,展示了如何利用.NET框架的跨语言功能来获取笔记本电脑电池的状态信息。


