使用VB6,我创建了一个Outlook插件,它有一个属性页面。属性页面是OCX控件。
当我将项目编译为OCX文件,然后运行OUTLOOK时,工作正常:我能够在Outlook选项中看到我的OCX作为选项卡。
但是,当我尝试通过在VB6中运行OCX进行调试时出现错误。我的调试开始如下: 1)调试选项设置为等待要创建的组件“ 2)VB6中的F5-RUN项目。 3)启动Outlook。 4)获取错误:“无法显示”MyOcx“页面。此页面仍然可见,但不可用。发生OLE注册错误。程序未正确安装。再次运行安装程序”
我怀疑这是因为,在调试时,OCX正在创建过程中,而Outlook却不喜欢这样。
在这种情况下,是否有一种很好的技术可以在OCX上使用VB6调试器?
答案 0 :(得分:3)
调试DLL或OCX时,VB6调试器有时会出现问题。
答案 1 :(得分:3)
正如MarkJ所说,你真正能够调试的唯一方法就是进行中。使用免费的Visual Studio 2008 C ++ Express Edition(甚至更好的Visual Studio 2008 Professional,如果有的话,它可用于90 day trial)和PDB。
要确保您正在创建PDB,请进入Visual Basic,检查 P)项目 / P)roperties ,然后单击编译标签。确保选中“创建符号调试信息”。
接下来启动Outlook,并从Visual Studio( T)ools / 附加到流程附加到该流程。确保您的Ocx显示在模块窗口中,然后加载PDB(在模块窗口中右键单击Ocx)。您可能必须在解决方案属性中添加源代码(有关如何执行此操作的更多详细信息,read this post)。
第一次在对接时有点痛苦,但是一旦你能做到这一点,它变得非常简单,并且比试图确定日志中发生的事情要容易得多。
答案 2 :(得分:0)
我对OCX没什么了解。
但是,你可以使用一个名为visual studio的工具,名为“activex control test tool”。
据我所知(基于我对文档的理解),OCX是在进程中创建的。