【问题标题】:Problem with MFC CWnd::CreateControl methodMFC CWnd::CreateControl 方法的问题
【发布时间】:2011-05-22 05:00:59
【问题描述】:

我在从 MFC 应用程序加载自定义 ActiveX 控件时遇到了 CWnd::CreateControl 方法的问题。

我有一个自定义 ActiveX 控件列表,这些控件实现了 Create 方法,然后调用 CWnd::CreateControl 方法。

我有对话框窗口,在 OnInitDialog 中,我使用 Settimer() 启动了计时器线程。在 OnTimer 事件中,我通过调用相应控件的 Create 方法来加载所有控件。打开和关闭对话框窗口超过 10 次后,OnTimer 无法加载控件。

我检查了返回值为 false 和 GetLastError 为 0x0(操作成功)。在此事件之前,我正在完全调试并检查所有可能的错误。我找不到导致无法加载控件的根本原因。

【问题讨论】:

  • 感谢朋友们。我解决了这个问题。问题出在一些没有使用 COM 规则实现的 ActiveX 控件上。在 InitInstance() 方法中,应该调用 CoInitialize() 方法,在 ExitInstance() 方法中应该调用 CoUninitialize() 方法。它没有以导致此问题的某种方法完成。完成后,问题就解决了。

标签: visual-c++ mfc activex


【解决方案1】:

您可能想参考以下问题类似的问题发生 Exception while opening file

相似之处在于它工作正常,但一段时间后它会抛出异常,当我们检查错误消息时,它不会发生错误。问题不会直接出现在导致异常的行。它会潜伏在应用程序的其他地方。

就我而言,当我改变访问该方法的方式并开始工作时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2012-01-27
    相关资源
    最近更新 更多