vc编写的COM接口传递数组的问题

fly_xjz 2011-10-24 05:45:21
我利用vc编写的COM接口传递数组,Add([in]short nCount, [in]double *a, [in]double *b,[out]double *suma, [out]double *sumb);

在C#中调用,无法传入数组,探测到的接口定义如:Add([in]short nCount, [in]double a, [in]double b,[out]double suma, [out]double sumb);

请问怎么修改?谢谢!
在线等...
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly_xjz 2011-10-29
  • 打赏
  • 举报
回复
自己搞定了,还是谢谢各位,散分
rockysheng19 2011-10-26
  • 打赏
  • 举报
回复
目前我也遇到类似问题,我自己写了个进程外COM服务器,接口实现方法中传递的参数有数组类型,我传递的是数组首元素的指针,但最终由指针获取到的数据只有首元素,数组其他元素无法获取,这是什么问题,难道一定要SAFEARRAY么
oyljerry 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fly_xjz 的回复:]
引用 4 楼 founderfang 的回复:
C#调用传数组的话用SAFEARRAY比较容易


你好,能解释的详细点吗,是不是接口函数以及调用部分都要修改?
[/Quote]
接口函数跟调用都要修改来支持SAFEARRAY
http://topic.csdn.net/t/20060705/11/4861465.html
fly_xjz 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 founderfang 的回复:]
C#调用传数组的话用SAFEARRAY比较容易
[/Quote]

你好,能解释的详细点吗,是不是接口函数以及调用部分都要修改?
founderfang 2011-10-24
  • 打赏
  • 举报
回复
C#调用传数组的话用SAFEARRAY比较容易
fly_xjz 2011-10-24
  • 打赏
  • 举报
回复
在c#中检测到的Add接口就不是数组或指针类型的
fly_xjz 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tubo_true 的回复:]
传递指针试试,是不是数组退化了
[/Quote]
C#中传入数组,直接提示:cannot convert from 'ref double[]' to 'ref double'
tubo_true 2011-10-24
  • 打赏
  • 举报
回复
传递指针试试,是不是数组退化了

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧