逸逸记事
逸逸记事

我的分类(专题)

首页(175)
儿子(9)
SIP技术(9)
Web2.0(12)
摄影和DVD(8)
软件开发随笔(18)
名古屋打工生活(11)
微软技术开发(47)
Java技术(12)
加拿大移民生活(20)
生活点滴(6)
第一份工作--上海贝尔(18)
完成项目(13)
回国后的生活(0)


最新日志
独行者
终于知道什么叫外包了
人生悲哀之事
水晶报表中显示动态图片
水晶报表中的简单参数设置
怀念下小黑
dotnet中的数据连接Timeout
老板的思路
又买房了
交通事故

最新回复
回复:独行者
回复:怀念下小黑
回复:老板的思路
回复:mjSip学习笔记
回复:老板的思路
回复:dotnet中的数据连接Timeo
回复:mjSip学习笔记
回复:交通事故
回复:交通事故
回复:又买房了

留言板

签写新留言

您好,很希望问您一个关于jain-sip
生活经历就是最大的财富,羡哦~
java的Web开发问题
回复:疑问
IT还不如妓女呢,呵呵
myjavaserver的空间
求助
您的子域名已开通

统计
blog名称:人在旅途
日志总数:175
评论数量:505
留言数量:13
访问次数:1671248
建立时间:2005年12月7日

链接

 

生命是过客,人在旅途。奶奶是信基督教的,没啥文化,却养育了四子二女,还带过九个孙辈。老人家对生命的看法就是“人都是客人,迟早要回去的。”就以《人在旅途》来纪念她。

 

«September 2025»
123456
78910111213
14151617181920
21222324252627
282930

公告
  本人上传的源程序中可能引用或使用了第三方的库或程序,也可能是修改了第三方的例程甚至是源程序.所以本人上传的源程序禁止在以单纯学习为目的的任何以外场合使用,不然如果引起任何版权问题,本人不负任何责任.




     本站首页    管理页面    写新日志    退出
调整中...
[微软技术开发]COM method and property arguments Test
人在旅途 发表于 2006/1/22 8:31:05

This project is here for me to study and test many problems which I met in other COM project and can't be solved, eg: Object,SAFEARRAY created in the server. Step1: Create a new ATL COM named ComTestResult1: Dim x As TESTCOMLib.ComTest Set x = New TESTCOMLib.ComTest x.GetVar o : When the o is Passed into the ComTest as a variant* pRet, the pRet->vt == VT_EMPTY, and at this time you can return this variant as pRet->vt = VT_DISPATCH.Result2:Dim x As TESTCOMLib.ComTest Set x = New TESTCOMLib.ComTest dim o  as object x.GetVar o : When the o is Passed into the ComTest as a variant* pRet, the pRet->vt == VT_DISPATCH|VT_BYREF. And at this time, you can return like this in VC++: this->AddRef(); CComTest* pX = this; *(pRet->ppdispVal) = (IDispatch*)pX; Step2: Create a method which will return safearray which is created in the server. In the client: Dim x As TESTCOMLib.ComTest Set x = New TESTCOMLib.ComTest dim o   x.GetVar o  in the server: pRet->vt = VT_ARRAY|VT_UI1;    SAFEARRAYBOUND rgsabound[1];     rgsabound[0].lLbound = 0; rgsabound[0].cElements = 20; pRet->parray = SafeArrayCreate(VT_UI1, 1, rgsabound); NOTES: It seems that this will also function during the property situation. But,there is a strange and important ruler, that is you must:  Dim y(2) As Byte      y(0) = 1      y(1) = 3      y(2) = 5      x = y      Pane1.Values = (x)'not Pane1.Values = xStep3:  If you pass a NULL parameter to a COM in VB, then in VC you will receive a variant with the vt as VT_NULL.

阅读全文(1933) | 回复(0) | 编辑 | 精华


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.041 second(s), page refreshed 144792455 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号