afxcom_.h -> Error POMOCY !!!

0

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>

0

:/ ort! żadnych pomysłów ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1