【问题标题】:Unable to add variable to Edit Control, Error: "object reference not set to an instance of object"无法将变量添加到编辑控件,错误:“对象引用未设置为对象实例”
【发布时间】:2019-11-24 17:46:58
【问题描述】:

我是 Visual C++/MFC 的新手。

尝试用很少的控件创建简单的对话框。 我想在我的代码中访问“编辑控件”的值。为此,当我尝试使用“添加控件变量”向导为“编辑控件”(或任何其他控件)添加变量名称时,它会出错。

我错过了什么吗?

我已经安装了以下软件包:

【问题讨论】:

  • 您正在使用哪个版本的 Visual Studio 以及选择的项目类型?
  • 我正在使用“Microsoft Visual Studio Community 2019”,版本 16.1.16。虽然,我想创建 MFC 应用程序,但此选项不会出现在“创建新项目”向导中。因此,我选择了“空项目”,然后从“属性”中将“使用 MFC”选项更改为“在共享 DLL 中使用 MFC”。还将“子系统”更改为“Windows”
  • 我认为这不是创建 MFC 应用程序的正确方法。我的机器上没有安装这个 MFC。如果是这样,那么您将在新项目中获得 MFC 项目创建选项。通过stackoverflow.com/questions/43074045/mfc-development-in-vs2017
  • 谢谢。但我想我已经安装了 MFC 相关的软件包。使用安装详细信息的屏幕截图更新了问题。

标签: visual-c++ mfc visual-studio-2019


【解决方案1】:

请检查您是否在对话框类中添加了DoDataExchange 函数。添加此功能后,我可以使用向导添加变量。

【讨论】:

  • 太棒了!我刚刚创建了一个CMFCPropertyPage 类,它的样板代码没有将它链接到这个方法。那一定是个bug吧?!我不得不添加它。薄荷...!
【解决方案2】:

这似乎是“MFC 类向导问题”。微软在以下论坛中跟踪并解决了这个问题: https://developercommunity.visualstudio.com/content/problem/208727/mfc-class-wizard-cant-add-control-member-variables.html

最新版本的visual studio应该可以解决这个问题。

【讨论】:

  • 我使用向导已经有一段时间了。但整个系统仍然存在故障。似乎他们是通过实验室测试项目开发的,而不是多年来开发的真正复杂的项目。他们应该提供适当的调试工具来一劳永逸地解决这些问题。如果不调试 classwizard 失败的原因,这很难......
猜你喜欢
  • 1970-01-01
  • 2011-07-09
  • 2012-08-31
  • 2011-11-21
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多