Welcome Guest Search | Active Topics | Members | Log In | Register

VS2003 to VSTD2008 migration problems Options · View
Kevin Fernandes
Posted: Tuesday, April 01, 2008 5:02:02 AM


Rank: Guest
Groups: Guest

Joined: 9/17/2007
Posts: 11,670
Points: -1,200
Date parsed: 01/04/2008 05:02:02
Date: Tue, 1 Apr 2008 09:02:02 -0400

Hi all, sorry if this stuff has been discussed before but I have not been
able to find any suitable equivalents or solutions to these issues (if you
know of any please let me know, any information is appreciated).

I am trying to convert several (100+) projects in our current VS2003
solution to VSTD2008, some of these projects are VS6 to VS2003 converted
projects. For the most part everything has gone pretty well with a few
lingering problems that I cannot seem to figure out how to resolve. The
projects in question are all C++ ActiveX (OCX) or ATL (DLL COM objects).
They all build fine and (for the most part) work correctly when built in
debug mode but most of them fail to LINK in release mode citing duplicate
entries for DllCanUnloadNow and DllGetClassObject (duplicated between
mfc90u.dll and a local .obj file). Now, I can /FORCE the link and these
project seem to build and work OK, but I would like to understand why this
happens in release builds only. Further research revealed that if the /clr
flag is set (which all of these projects have), this problems occurs, and I
can repeat this with a new VSTD2008 MFC ActiveX project (Create the project
and build it with no other changes - no problems, turn on /clr and build -
debug builds fine but release build fails with these errors). Is there a
workaround or some other option I need to set or change to resolve this? By
the way, removing these two methods as exports from my projects results in
the contained objects not being "creatable" that is, DllGetClassObject
returns "Class not found" when it tries to create the objects. Note that
all of this worked fine with VS2003.

Another issue is a crash which occures after registering one of the above
projects. Regsvr32 successfully registers the component then, before it
exits, it crashes with "unknown software exception 0xc0020001". When I try
to debug this, I do not get any useful information (stack or otherwise) to
indicate where the problem might be happening. This is the only project (of
all of them) that has this issue and I cannot see any specific differences
in the project compile or link options between this and the other projects
that work just fine. This project also has the problem of needing the
/FORCE link command to get it to compile. This project also has another
problem, in that, the debug build of the component works just fine (can be
registered, even though it crashes after registering, and can be created
properly), the release build of this component however does not work,
returning the above "class not found" message when we try to create it, even
with the /FORCE command.

Sorry this was so long, I really hope someone might have encountered these
issues and have some pointers or hints to help me resolve them.

Thanks again for any and all assitance
Kevin F.


Users browsing this topic
Guest


Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Main Forum RSS : RSS

YAFPro Theme Created by Jaben Cargman (Tiny Gecko)
Powered by Yet Another Forum.net version 1.9.1.1 (NET v2.0) - 9/10/2007
Copyright © 2003-2006 Yet Another Forum.net. All rights reserved.
This page was generated in 0.034 seconds.