atl8.0 backward compatibility issue
-
We have built a com based application in VC5, VC6 in debug mode & works fine. when migrated to VC++ 8.0, com register class is failing. VC6 binary is built which atl6.0.dll and works fine. but when the application is built with atl8.0 com register class is failing. We are using CComModule class in atl6.0. But it looks like the same class is change to CAtlComModule in atl8.0 Is there any option which will enable backward comptible in atl8.0? Thanks
-
We have built a com based application in VC5, VC6 in debug mode & works fine. when migrated to VC++ 8.0, com register class is failing. VC6 binary is built which atl6.0.dll and works fine. but when the application is built with atl8.0 com register class is failing. We are using CComModule class in atl6.0. But it looks like the same class is change to CAtlComModule in atl8.0 Is there any option which will enable backward comptible in atl8.0? Thanks
You need to read the documented breaking changes that have been put in effect in ATL version 7. There were very few notable changes from 7 to 8! CComModule was replaced with several different module classes: CatlModule, CatlExeModuleT, CatlDllModuleT and CatlServiceModuleT. According to "ATL Internals", Second Edition, page 811: ..., there's not much to be gained in removing your ATL 3 modules and replacing them with the ATL 8 modules when you migrate your project. ... If you need (...) to rewrite the module-related code in your ATL 3 server to match and ATL 8 server, your best bet is to run the new VS05 wizard with the names and settings you need and then move over your ATL 3 classes.
"We make a living by what we get, we make a life by what we give." --Winston Churchill