VB 6.0 ActiveX控件异常处理和清理

时间:2012-07-22 07:48:22

标签: memory-management exception-handling user-controls vb6 activex

我使用VB 6.0在单个“.ocx”文件中创建了各种activex控件。

我在MFC应用程序中使用这些用户控件。我在设计时在MFC PropertyPage对话框中添加了这些控件。此属性页被添加到Propertysheet中,此属性页被添加到ActiveX容器控件中。最后,容器控件将由另一个应用程序加载。

我的对话框在Windows XP,Windows 7 32位操作系统中正确加载。 在Windows 2008服务器和Windows 7 64位操作系统中,当我的VB 6.0用户控件添加到属性页面中时,CPropertySheet::OnInitDialog getting failed (throws exception)。我已经尝试了可能的MFC异常以捕获异常,但是默认(...)catch块只被执行。

当我从PropertyPage中删除VB 6.0用户控件时,没有例外。

  1. 如何处理VB 6.0用户控件引发的异常?
  2. 如何确保在VB 6.0用户控件中创建的内存已正确释放?

1 个答案:

答案 0 :(得分:1)

尝试注释掉VB6控件项目中的所有代码,然后重新编译。使用属性页重试。如果你没有遇到同样的问题,那么你很幸运。通过方法取消注释代码方法,直到找到故障代码。