在ActiveX控件中加入IObjectSafety接口, 在网页中正常运行,但在VB中单步调试时出错?

fury 2004-08-31 12:17:21
RT

按照
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q182598
在 ActiveX 控件中加入 IobjectSafety 接口, 在网页中调用控件时正常,
浏览器不再提示“不安全的控件”了。
但是在VB中单步调试时,老是出错,在
IObjectSafety_SetInterfaceSafetyOptions()中,
Select Case IID
...
Case Else
Err.Raise E_NOINTERFACE '总是跑到这里来,
Exit Sub

请大虾指点一下,为什么调试时会出这个错?该如何处理?IID参数的含义是什么?

如果跳过这个错误的话,后面的 UserControl_ReadProperies()就不能正常运行



此外,我在网页中,用<param name="para_name" value="value">, 会出错
而用脚本
<script >
obj.property = value
</script>
就不会出错, 跟踪发现前者调用 InitProperties() 而后者调用ReadProperties()。
这似乎跟 MSDN 上说的相反?????


...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bladeinside 2004-09-01
  • 打赏
  • 举报
回复
gz
也是只在网页中调用,还没在vb里调试过
supergreenbean 2004-09-01
  • 打赏
  • 举报
回复
IID是尝试要获得安全设定的接口的ID,如果在一串select case后,跳到了Err.Raise E_NOINTERFACE,那么就是说要请求的接口不是当前控件所支持的。
正如msdn上所说,SetInterfaceSafetyOptions方法一次只接受IDispatch或IPersist*类的接口中的一个。

online 2004-08-31
  • 打赏
  • 举报
回复
E:\Program Files\Microsoft Visual Studio\MSDN98\98VS\2052\SAMPLES\VB98\IObjSafe

有一个例子

这个可以运行

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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