vb6 ocx项目 - 可以直接运行EXE,而不是在调试器中运行

时间:2013-03-05 21:57:04

标签: vb6 activex ocx

我有一个VB6 ActiveX控件项目(创建.OCX),它有几个用户控件。控件由EXE(也是VB6)加载。当我直接运行EXE时,它运行正常,但是当我尝试在调试器中运行它时(我需要单步执行代码),它无法加载用户控件(.ctl),给我“类未注册用CLSID寻找对象:...“消息

我有二进制兼容性设置(保留所有旧的GUID),我看到注册表中的类,一切看起来都很好 - 只是不在调试器中运行。

请帮忙吗?

1 个答案:

答案 0 :(得分:2)

我已经使用VB6十多年了。问题是VBP项目引用与OCX用户控件的最新版本不同步。只需将项目作为一个组或EXE项目单独打开,然后单击Project-> Components。

您现在将看到两件事之一。参考将无效或您选择了有效参考。无论哪种方式,取消选中引用并单击okay(在此操作期间不要重新选择它。相信我)。现在,关闭该对话框并返回到Projects-> Components,现在从列表中选择您的OCX控件。这将解决您的问题。如果您的OCX不在列表中,请先单独重建,然后重试。

这是VB6 IDE的一个未记录的错误。即使使用VB6 SP6也没有解决。