问题
I just installed Visual Studio 6 (SP5) on a Vista Enterprise machine. Had some problems but I think it’s set up alright.
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” ).
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!
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.
Thanks a lot, Erik
PS - I am Admin on my machine. OS is 32 bit.
回答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...?
See http://support.microsoft.com/kb/948468, for example.
Let me know if that works out.
来源:https://stackoverflow.com/questions/1184175/problem-in-hosting-activex-on-vista-in-a-visual-studio-6-c-application