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?