【发布时间】:2009-02-05 04:11:58
【问题描述】:
我使用 VS 2008 在 Vista 上开发了一个 Ribbon 应用程序。它在 Vista 上运行良好。我静态链接 MFC,以便我也可以在 XP 上运行它。
但是当我在 XP 上运行它时,它会弹出一个对话框说“所需的资源不可用”。 稍后,如果我在此对话框上按 OK,它会显示另一个说“遇到不正确的论点”。许多这样的(“遇到一个......”)对话框(一个接一个)跟随,直到我从任务管理器中终止它。
我注意到有趣的是,当我将鼠标指针放在功能区栏上时,就会发生这种情况。我什么都不做。然后我打开任务管理器,看到使用的内存每秒增加 8 个字节。最终出现了上面的场景。
?????
【问题讨论】:
-
@Ron,我认为语句“我尝试在 XP 系统上安装 MFC 功能包,但失败了三次。”重要到足以保证向您提出问题,而不是作为对答案的评论。我认为这回答了您的问题,因为在没有安装功能包的情况下,您的软件将如何运行?
-
我假设您实际上是在谈论 VC2008 功能包。您应该尝试安装该软件包还是可再发行软件包。该功能包是对 VC 的补充,可再发行组件应该发送给您的应用程序的用户。
-
现在我看到安装驱动器已满。我将安装在不同的驱动器上并获取堆栈跟踪。
-
您可能会发现,如果您安装在不同的驱动器上(即安装成功),问题就会消失 :-)。
-
我的代码中存在导致此问题的资源泄漏。我在更新功能区栏控件(ON_UPDATE_COMMAND_UI)时调用了 GetDC(),但没有发布它。