【问题标题】:Creating a shared MFC Dialog: Regular DLL or MFC extension DLL创建共享 MFC 对话框:常规 DLL 或 MFC 扩展 DLL
【发布时间】:2010-07-15 10:58:07
【问题描述】:

在 VC++ 2005 中创建 MFC DLL 项目时,您会看到一个屏幕“应用程序设置”,可以选择带有静态/动态 MFC 的常规 DLL 或 MFC 扩展 DLL。

我们想要一个包含一些常用对话框的 DLL,以便我们可以在其他项目中使用它们,例如:

CGetNameDlg *dlg = new CGetNameDlg();
dlg->doModal();
string name = dlg->getName();
delete dlg;

我们不确定这是否需要扩展 DLL...如果这些是专门用于添加新控件以增强 MFC 本身,或者如果我们只是做一个动态链接到 MFC 的常规 DLL 项目,就像我们会做的那样一个 EXE 项目。

【问题讨论】:

标签: visual-c++ dll mfc visual-studio-2005


【解决方案1】:

就我个人而言,我会创建一个常规 DLL。我发现常规 DLL 提供了比扩展 DLL 更大的代码分离,而且在每次调用 DLL 的入口点使用 AFX_MANAGE_STATE() 宏增加了复杂性。

如果您的代码设计得很好(例如,只向/从 DLL 传递本机对象),您可以在普通的 win32 应用程序/C# 应用程序/VB 应用程序中使用相同的 DLL,而不会遇到什么麻烦。

【讨论】:

    【解决方案2】:

    您可以将其作为常规 DLL 而不是 MFC 扩展,这将是我的首选。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2011-03-16
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      相关资源
      最近更新 更多