重新编译的OCX未在Internet Explorer中初始化

时间:2014-03-13 21:28:59

标签: javascript html vb6 activex

我被要求维护这个用VB6编写的传统activeX。我已经确定了我需要做的改变。但是一旦我重新编译并注册activeX,对象就不会加载

对象初始化如下所示

<OBJECT style="display:none;" ID="Utils" Name="Utils" CLASSID="CLSID:EF82C1E0-36D4-4BDE-8EEB-10C7105C3FAF"></OBJECT>

在稍后阶段,该对象在脚本中引用,如下所示

if (typeof document.all.utils != "undefined" && document.all.utils != null)

这里document.all.utils未定义:(

我现在已经挖了几个小时了,找不到任何有用的东西。我尝试了http://msdn.microsoft.com/en-us/library/941zhks9%28v=vs.71%29.aspx,但该链接没有说明应该采取哪些措施来确保对象可以访问

任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

正如Bob77所建议的,问题是我的班级指导改变了。显然它已被更改,因为我保存了.vbp文件!不确定,怎么回事。

验证类公会的最佳方法是查看注册表

Computer\HKEY_CLASSES_ROOT\[yourComponent]\Clsid

注意:只有在注册组件

后才能使用

要解决此问题,我只需删除包含该项目的文件夹,并从源代码管理中检出最新内容。一旦我有了最新的代码,就会使用相同的类guid进行编译

以下链接对遇到类似问题的人非常有用

http://forums.asp.net/t/1547658.aspx?INTEROP+CLSID+changes+every+new+build+How+can+I+solve+it+as+application+asp+net+does+not+stop+when+new+DLL+is+registred+