描述:
进程外组件,接口中定义有数组的问题
print([in]short len,[in,out,size_is(len)]shor* buff)
为什么传入或传出的buff中只有第一个元素有效,
但如果这样
print([in,out]shor buff[10])
没有问题
解决方案1:
进程间或线程间传递指针不容易管理,要确保线程类型一致等等
解决方案2:恩,比较同意Phourm的办法
解决方案3:print([in]short len, [in,out,size_is(len)]short buff[]);
解决方案4: print([in]short len, [in,out,size_if(len)]short buff[]);
而事实上
print([in]short len,[in,out]shor* buff)
然后用指针来访问这个数组也应该是可以的。
我试过。vb调用,传入数组第一个元素的引用
print([in]short len, [in,out,size_if(len)]short buff[]);
好像在哪里见过,应该是这样写的。
用safearray吧!
解决方案8:试试print([in, out]short len,[in,out,size_is(len)]short* buff)