首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

COM初学者VB调用ATL COM的

2012-02-23 
COM菜鸟求助:VB调用ATL COM的COM接口的返回值是HRESULT,成功时返回S_OK,失败时返回S_FALSE。可是在VB中调用

COM菜鸟求助:VB调用ATL COM的
COM接口的返回值是HRESULT,成功时返回S_OK,失败时返回S_FALSE。
可是在VB中调用接口时,没有返回值了,这个值到哪儿去了?
百度了一下,说是返回S_FALSE时会触发异常,可是我用下面的代码走不到异常处理分支中去:

IIterface.Method(var)
On Error Go To Line

Line:
  MsgBox("error")

为什么呢,help !

[解决办法]
还正在学习VB,不太懂。
怎么不到VB去问问。
[解决办法]
On Error Go To Line 
IIterface.Method(var) 

On Error要在前面。

另外,这个问题在vb专区问更恰当。
[解决办法]
如果不触发on error,那么应该有返回值。
去vb专区吧。
[解决办法]
你调用成功了,会有啥异常???

IIterface.Method(var) 
On Error Go To Line 

Line: 
MsgBox("error") 


改为:

VB code
if IIterface.Method(var)=S_FALSE then goto Line ..... exit subLine:   MsgBox("error")
[解决办法]
顶楼上

ATL为了保证接口函数都是虚的,并返回为HRESULT

就将函数返回值都处理成函数参数的一部分

热点排行