【问题标题】:how to load ActiveX dll from mfc dll如何从 mfc dll 加载 ActiveX dll
【发布时间】:2014-02-23 03:58:09
【问题描述】:

获得了第三方 ActiveX dll,其中包含风扇控制对话框。想从带有 API 的 MFC dll 访问 ACtiveX dll,以便能够打开控制对话框并访问 ActiveX 中的一些其他功能。这实际上容易吗?。应该在哪里调用什么资源?有什么例子吗?需要在没有周围的情况下连续记录温度。

【问题讨论】:

  • 你能贴一些代码吗?
  • 我想了解这是否完全可行?我在 msdn 中读到需要在 InitInstance 中调用 AfxEnableOleContainer()。
  • 最初您问这是否“实际上很容易”。答案是:视情况而定。如果你知道自己在做什么,那就是。如果你不这样做,那就不是。考虑阅读How do I ask a good question? 并更新您的问题以满足本网站的期望。
  • 请在下面阅读我自己的答案。

标签: mfc


【解决方案1】:

在微软网站上阅读了这么多之后,想出了一个 MFC dll,它的对话框使用了一个 ActiveX 控件。此外,编写了一个 MFC 和一个控制台应用程序,通过调用 dll 的 opendialog(),我看到对话框启动。我希望我不会造成任何内存泄漏。或在不知情的情况下导致任何资源(取消)分配错误。到目前为止,一切似乎都在发挥作用。

BOOL CDllApp::InitInstance()
{
    CoInitialize(0);
    AfxEnableControlContainer();
    return CWinApp::InitInstance();
}

int CDllApp::ExitInstance()
{
    CoUninitialize();
    return CWinApp::ExitInstance();
}

In another class, in the same mfc dll, i do this.:
void CMyClass::opendialog()
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
    CMyDialog dlg;
    dlg.DoModal();
}

【讨论】:

    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2011-09-06
    • 2010-12-13
    • 1970-01-01
    • 2012-07-16
    相关资源
    最近更新 更多