你在定义IDL时如下声明,就可以传一块内存区,而且大小是可变的,由nSize指定
方法名([in,out,size_is(*nSize)] byte lParam[],[in] int * nSize)
在Client端
char buf[1024];
方法名(buf,1024) 再服务端
可以
char buf[1024];
memcpy(buf,lParam,*nsize);不过上述IDL语法只适用于COM 的IDL ,OMG IDL不支持。
如有不懂可联系[email protected]
方法名([in,out,size_is(*nSize)] byte lParam[],[in] int * nSize)
在Client端
char buf[1024];
方法名(buf,1024) 再服务端
可以
char buf[1024];
memcpy(buf,lParam,*nsize);不过上述IDL语法只适用于COM 的IDL ,OMG IDL不支持。
如有不懂可联系[email protected]
只传了数组第一个值
顺序换一换。
我一直想让VB能动态分配一个具有一定结构体的内存空间,象C++那样。
如果诸君的方法真是可行的,那问题就应该解决了。
不过感觉好像还是没有出来个结果。
可以的,我试过了,不管是在IDispatch,还是自定义的接口,都可以传递内存