Error C2259 while building application on 64-bit
- From: shikhar.ntds@xxxxxxxxx
- Date: 18 Dec 2006 02:06:52 -0800
Hi All,
I am trying to build my app for 64bit system (which builds fine for
32-bit).
While building it on 64-bit i am getting error C2259 at the call:
COM_INTERFACE_ENTRY_TEAR_OFF( __uuidof(IShellFolder), CMyShellFolder)
in my code.
The build log says:
d:\testapp\ext\sdk\vs8rtm\sdk\include\atl80\atlcom.h(1828) : error
C2259: 'ATL::CComTearOffObject<Base>' : cannot instantiate abstract
class
with
[
Base=CMyShellFolder
]
due to following members:
'HRESULT IPersistFolder::Initialize(LPCITEMIDLIST)' : is
abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(816) : see
declaration of 'IPersistFolder::Initialize'
'HRESULT
IShellFolder::ParseDisplayName(HWND,LPBC,LPOLESTR,ULONG *,LPITEMIDLIST
*,ULONG *)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1398) : see
declaration of 'IShellFolder::ParseDisplayName'
'HRESULT IShellFolder::BindToObject(LPCITEMIDLIST,LPBC,const
IID &,void **)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1411) : see
declaration of 'IShellFolder::BindToObject'
'HRESULT IShellFolder::BindToStorage(LPCITEMIDLIST,LPBC,const
IID &,void **)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1417) : see
declaration of 'IShellFolder::BindToStorage'
'HRESULT
IShellFolder::CompareIDs(LPARAM,LPCITEMIDLIST,LPCITEMIDLIST)' : is
abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1423) : see
declaration of 'IShellFolder::CompareIDs'
'HRESULT IShellFolder::GetAttributesOf(UINT,LPCITEMIDLIST
*,SFGAOF *)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1433) : see
declaration of 'IShellFolder::GetAttributesOf'
'HRESULT IShellFolder::GetUIObjectOf(HWND,UINT,LPCITEMIDLIST
*,const IID &,UINT *,void **)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1438) : see
declaration of 'IShellFolder::GetUIObjectOf'
'HRESULT
IShellFolder::GetDisplayNameOf(LPCITEMIDLIST,SHGDNF,STRRET *)' : is
abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1446) : see
declaration of 'IShellFolder::GetDisplayNameOf'
'HRESULT
IShellFolder::SetNameOf(HWND,LPCITEMIDLIST,LPCOLESTR,SHGDNF,LPITEMIDLIST
*)' : is abstract
d:\testapp\ext\sdk\vs8rtm\sdk\include\shobjidl.h(1451) : see
declaration of 'IShellFolder::SetNameOf'
d:\testapp\ext\sdk\vs8rtm\sdk\include\atl80\atlcom.h(1818) :
while compiling class template member function 'HRESULT
ATL::CComInternalCreator<T1>::CreateInstance(void *,const IID &,LPVOID
*)'
with
[
T1=ATL::CComTearOffObject<CMyShellFolder>
]
d:\testapp\ext\sdk\vs8rtm\sdk\include\atl80\atlcom.h(1899) :
see reference to class template instantiation
'ATL::CComInternalCreator<T1>' being compiled
with
[
T1=ATL::CComTearOffObject<CMyShellFolder>
]
d:\testapp\ext\sdk\vs8rtm\sdk\include\atl80\atlcom.h(1899) :
while compiling class template static data member
'ATL::_ATL_CREATORDATA ATL::_CComCreatorData<Creator>::data'
with
[
Creator=ATL::CComInternalCreator<ATL::CComTearOffObject<CMyShellFolder>>
]
I have seen the documentation of this error and it says that it occurs
mainly due to interface not implemented in deried class but in the
current scenario it is working fine with 32-bit machines (not with
64-bit build).
Can anyone please help me resolve this issue.
Thanks alot.
.
- Follow-Ups:
- Re: Error C2259 while building application on 64-bit
- From: Joseph M . Newcomer
- Re: Error C2259 while building application on 64-bit
- Prev by Date: Handling an Event in the wrapper class.
- Next by Date: accessing extern varible form a dll
- Previous by thread: Handling an Event in the wrapper class.
- Next by thread: Re: Error C2259 while building application on 64-bit
- Index(es):
Relevant Pages
|
Loading