【问题标题】:MFC, just need some directionsMFC,只需要一些方向
【发布时间】:2009-11-30 17:45:38
【问题描述】:

我通常不期待外界的帮助,但我需要快速解决这个问题,因此正在寻找一些方向。我有一个 6 年的基于 MFC 的应用程序在 xp 机器上运行,并删除了一些文件/程序以释放 C 驱动器中的一些空间来安装其他应用程序。安装我的新程序(Labview 8.6)后,我发现我不再能够运行基于 MFC 的程序。我尝试进行系统还原,但在启动应用程序时出现以下错误。


调试断言失败!

程序:.... 文件:dlgdata.cpp 线路:43

(按重试调试应用程序)

中止重试忽略


这个 dlgdata.cpp 是一个 MFC 核心文件,第 43 行是函数 HWND CDataExchange::PrepareCtrl(int nIDC) 中的 ASSERT(FALSE) ,我不知道出了什么问题。如果我能得到一些开始调试的指示,我将不胜感激。

【问题讨论】:

  • 你改变你的程序资源文件了吗?
  • 不,我绝对没有。抱歉回复晚了,没看到这个.....

标签: mfc


【解决方案1】:

您缺少一些实现您尝试使用的控件的 MFC 库(MSFT 或某些第三方)。

尝试安装可再发行软件包http://www.microsoft.com/Downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

编辑:this question 可能有助于确定您需要哪个库

【讨论】:

  • 是的,有道理,只是想知道我删除了哪个第三方 MFC 库是必需的。尝试运行上述包,但它停止运行超出文件的提取.....
【解决方案2】:

运行Process Monitor 并启动您的应用程序。您应该能够看到程序试图访问的 DLL。然后由谷歌(希望)找出 DLL 属于什么。

【讨论】:

  • 只是想让大家知道我能够解决问题。我运行了 Dependency Walker,虽然它最初具有误导性(红色错误表示缺少 DLL 文件,这不是原因),但它显示代码中缺少一些控件。然后我发现我错误地删除了程序正在使用的Measurement Studio。我安装了它,现在可以工作了。顺便说一句,这些 activex 控件不会让程序员的生活变得悲惨吗?当系统中缺少一个时,调试变得困难。我对 ActiveX 了解不多,但它是一个好的设计吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
  • 2016-08-07
  • 1970-01-01
  • 2020-09-29
  • 2013-08-16
相关资源
最近更新 更多