witam
kompiluje (w Borland C++Builder 5) ort! programu do którego jest wymagany afxcom_.h
no i wywala błąd
[C++ Error] afxcom_.h(408): E2426 Explicit specialization of 'CIP<IUnknown,&IID_IUnknown>' requires 'template<>' declaration
[C++ Error] afxcom_.h(419): E2238 Multiple declaration for 'CIP<IUnknown,&IID_IUnknown>::CIP()'
[C++ Error] afxcom_.h(343): E2344 Earlier declaration of 'CIP<IUnknown,&IID_IUnknown>::CIP()'
plik jest troche duży i <ort>niechce</ort> zbyt dużego balaganu na forum zrobić więc wkleilem kawalek ktorego się to tyczy plik ten jest zresztą w Borlandzie
#if _MSC_VER > 1020
template<>
#endif
class CIP<IUnknown, &IID_IUnknown> : public _CIP<IUnknown, &IID_IUnknown>
{
public:
// Simplified name for base class and provide derived classes
// access to base type
typedef _CIP<IUnknown, &IID_IUnknown> BC;
// Provideds derived classes access to the interface type.
typedef IUnknown Interface;
// Construct empty in preperation for assignment.
CIP() { }
// Copy the pointer and AddRef().
CIP(const CIP& cp) : _CIP<IUnknown, &IID_IUnknown>(cp) { }
// Saves and AddRef()s the interface.
CIP(Interface* pInterface)
: _CIP<IUnknown, &IID_IUnknown>(pInterface) { }
// Saves and then AddRef()s only if bAddRef is TRUE.
CIP(Interface* pInterface, BOOL bAddRef)
: _CIP<IUnknown, &IID_IUnknown>(pInterface, bAddRef) { }
// Creates the interface from the CLSID.
CIP(const CLSID& clsid) : _CIP<IUnknown, &IID_IUnknown>(clsid) { }
// Creates the interface from the CLSID.
CIP(LPOLESTR str) : _CIP<IUnknown, &IID_IUnknown>(str) { }
// Copies and AddRef()'s the interface.
CIP& operator=(const CIP& cp)
{ _CIP<IUnknown, &IID_IUnknown>::operator=(cp); return *this; }
// Saves and AddRef()s the interface. The previously saved
// interface is released.
CIP& operator=(Interface* pInterface)
{ _CIP<IUnknown, &IID_IUnknown>::operator=(pInterface); return *this; }
// Releases any current interface and loads the class with the
// provided CLSID.
CIP& operator=(const CLSID& clsid)
{ _CIP<IUnknown, &IID_IUnknown>::operator=(clsid); return *this; }
// Releases any current interface and loads the class with the
// provided CLSID.
CIP& operator=(LPOLESTR str)
{ _CIP<IUnknown, &IID_IUnknown>::operator=(str); return *this; }
// Queries for the unknown and return it
operator IUnknown*()
{ return GetInterfacePtr(); }
// Verifies that pUnknown is not null and performs assignment.
HRESULT QueryInterface(IUnknown* pUnknown)
{
_CIP<IUnknown, &IID_IUnknown>::operator=(pUnknown);
return pUnknown != NULL ? S_OK : E_NOINTERFACE;
}
}; // CIP<IUnknown, &IID_IUnknown>
#define IPTR(x) CIP<x, &IID_##x>
#define DEFINE_IPTR(x) typedef IPTR(x) x##Ptr;
kombinowałem cosik ale ort! i szczerze mówąc <ort>niewiem</ort> co z tym zrobić
Z góry dzieki za jakąkolwiek pomoc
;) </ort>