【发布时间】:2010-11-14 16:05:07
【问题描述】:
(自从我现在以用户身份注册后,我将重新发布此消息)
我刚刚在 Vista Enterprise 机器上安装了 Visual Studio 6 (SP5)。有一些问题,但我认为它设置得很好。
问题是我的 VC++ 6 应用程序在尝试托管 ActiveX 时失败。我能够编译它,但从 Vista 收到有关 rc.exe 的警告消息(“该程序存在已知的兼容性问题”)。
当我调试它时,我看到我的从 CAxDialogImpl 派生的类在它的 Create() 方法上失败了。相同的应用程序在 XP 上运行良好!
是否存在已知的兼容性问题?
一些技术信息:我看到 CAxDialogImpl::Create()(我在这里传递 NULL)调用 AtlAxCreateDialogA,而后者又调用 CreateDialogIndirectParama,这会引发一般异常。
非常感谢,埃里克
PS - 1. 我是我机器上的管理员。操作系统是 32 位的。 2. 我知道Vista不支持VS6,但我别无选择,因为我在尝试将它迁移到VS 2008时遇到了麻烦。
【问题讨论】:
-
更新:当我的 dll(我的 Visual C++ 应用程序实际上是一个 dll)被 com 应用程序调用时它可以工作,但是当它被 .Net 应用程序调用时它会失败。
标签: visual-c++ com windows-vista activex atl