VS2005엔 _GetBaseMessageMap 이게 없는듯 하다. -_-.. 그래서 새로 정의해서 해결해야 한다. 아나..
error C2065: 'GetThisMessageMap' : 선언되지 않은 식별자입니다.
error C2653: 'TheBaseClass' : 클래스 또는 네임스페이스 이름이 아닙니다.
error C2039: 'messageMap' : 'TTaskbarContainer<T>'의 멤버가 아닙니다.
error C2039: '_GetBaseMessageMap' : 'TTaskbarContainer<T>'의 멤버가 아닙니다.

#ifndef __AFXWIN_H__
#include "afxwin.h"
#endif

#if ( _MSC_VER >= 1400) // VC++ 8.0 (.net)

//#ifdef _AFXDLL
#define BEGIN_TEMPLATE_MESSAGE_MAP(theTemplate, theClass, baseClass) \
    PTM_WARNING_DISABLE \
    template <theTemplate>\
    const AFX_MSGMAP* theClass::GetMessageMap() const \
{ return GetThisMessageMap(); } \
    template <theTemplate>\
    const AFX_MSGMAP* PASCAL theClass::GetThisMessageMap() \
{ \
    typedef theClass ThisClass; \
    typedef baseClass TheBaseClass; \
    static const AFX_MSGMAP_ENTRY _messageEntries[] = \
{\

#endif

#else    // VC++6.0

#ifdef _AFXDLL
#define BEGIN_TEMPLATE_MESSAGE_MAP(theTemplate, theClass, baseClass) \
    template <theTemplate> const AFX_MSGMAP* PASCAL theClass::_GetBaseMessageMap() \
        { return &baseClass::messageMap; } \
        template <theTemplate> const AFX_MSGMAP* theClass::GetMessageMap() const \
        { return &theClass::messageMap; } \
        template <theTemplate> AFX_DATADEF const AFX_MSGMAP theClass::messageMap = \
    { &theClass::_GetBaseMessageMap, &theClass::_messageEntries[0] }; \
    template <theTemplate> const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \
    { \

#else

#define BEGIN_TEMPLATE_MESSAGE_MAP(theTemplate, theClass, baseClass) \
    template <theTemplate> const AFX_MSGMAP* theClass::GetMessageMap() const \
        { return &theClass::messageMap; } \
        template <theTemplate> AFX_DATADEF const AFX_MSGMAP theClass::messageMap = \
    { &baseClass::messageMap, &theClass::_messageEntries[0] }; \
    template theTemplate const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \
    { \
#endif

#endif
Tag |