在Vista上托管ActiveX的问题(在Visual Studio 6 C ++应用程序中)

时间:2022-09-01 19:16:09

I just installed Visual Studio 6 (SP5) on a Vista Enterprise machine. Had some problems but I think it’s set up alright.

我刚刚在Vista Enterprise机器上安装了Visual Studio 6(SP5)。有一些问题,但我认为它设置好了。

The problem is my VC++ 6 application fails when trying to host an ActiveX. I was able to compile it ok, though got a warning message from Vista about the rc.exe (“This program has known compatibility issues” ).

问题是我的VC ++ 6应用程序在尝试托管ActiveX时失败了。我能够编译好,虽然从Vista收到有关rc.exe的警告消息(“此程序已知兼容性问题”)。

When I debugged it I saw that my class that derives from CAxDialogImpl fails on its Create() method. The same application worked just fine on XP!

当我调试它时,我看到我的类派生自CAxDialogImpl,它的Create()方法失败了。相同的应用程序在XP上工作得很好!

Is there a known compatibility issue there?

那里有一个已知的兼容性问题吗?

Some tech info: I saw that CAxDialogImpl::Create() (I pass NULL here) calls AtlAxCreateDialogA, which in turn calls CreateDialogIndirectParamA which throws a general exception.

一些技术信息:我看到CAxDialogImpl :: Create()(我在这里传递NULL)调用AtlAxCreateDialogA,后者又调用CreateDialogIndirectParamA,它抛出一般异常。

Thanks a lot, Erik

非常感谢,Erik

PS - I am Admin on my machine. OS is 32 bit.

PS - 我是我机器上的管理员。操作系统是32位。

1 个解决方案

#1


I wonder if this could be caused by Vista's DEP and the fact that it's hardwired to recognize ATL thunking code, but only of newer versions...?

我想知道这是否可能是由Vista的DEP引起的,而且它是硬连线识别ATL thunking代码的事实,但只有更新的版本......?

See http://support.microsoft.com/kb/948468, for example.

例如,请参阅http://support.microsoft.com/kb/948468。

Let me know if that works out.

如果有效,请告诉我。

#1


I wonder if this could be caused by Vista's DEP and the fact that it's hardwired to recognize ATL thunking code, but only of newer versions...?

我想知道这是否可能是由Vista的DEP引起的,而且它是硬连线识别ATL thunking代码的事实,但只有更新的版本......?

See http://support.microsoft.com/kb/948468, for example.

例如,请参阅http://support.microsoft.com/kb/948468。

Let me know if that works out.

如果有效,请告诉我。