| KevinGPO 2006-03-06, 7:58 am |
| My application was developed under Visual C++ 6.0, ATL, MFC & PlatformSDK
Feb2003 (the last VC6 compatible version).
I am wondering if PlatformSDK Feb2003 is compatible with Visual Studio.NET
2003? I am having major problems trying to port/build my application under
Visual Studio.NET 2003 using the unmanaged/native C++ compiler.
I was told that Visual Studio.NET 2003 had native C++ compiler support. I am
aware about the new C++ 1999 changes (eg. #include <iostream>, using
namespace std; etc). However my errors seem to be related to the PlatformSDK
Feb2003. eg:
error C2039: 'Delete' : is not a member of 'CCommandEx<TAccessor>' with
[TAccessor=ATL::CManualAccessor]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
error C2065: 'AFX_OLE_DATETIME_ERROR' : undeclared identifier
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
error C2143: syntax error : missing ',' before '<'
NOTE: what is this issue about templates??? my templates are like:
<code snip>
template <class TAccessor = CNoAccessor, template <typename T> class TRowset
= CRowset>
class CAccessorRowset :
public TAccessor,
public TRowset<TAccessor> // error C2143
{
<code snip>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
error C2440: 'type cast' : cannot convert from 'CFile' to 'HFILE'
<code snip>
if ((HFILE)File==CFile::hFileNull)
<code snip>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
error C2475: 'CDouble::GetDoubleValue' : forming a pointer-to-member
requires explicit use of the address-of operator ('&') and a qualified name
<code snip>
if(Value.GetDoubleValue != 0)
<code snip>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
error C2516: 'TRowset' : is not a legal base class
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
and there's more. What was wrong with Visual C++ 6.0? and why is there so
many errors when trying to compile under Visual Studio.NET 2003? Does anyone
know a quick conversion script?
|