2013-09-30 4 views
-1

CTI Toolkit 4.03을 사용하여 Visual Studio 2008에서 CTI Connector Solution을 작성하려고합니다. 내가 오류를 가지고CTI 어댑터를 만들 때 추상 클래스를 인스턴스화 할 수 없습니다.

Error 1 error C2259: 'ATL::CComObject<Base>' : cannot instantiate abstract class c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h 1801 while compiling 

내 코드는 당신이 추상 클래스의 인스턴스를 만들 수 없기 때문이다

#include "stdafx.h" 
#include "MyAdapterBase.h" 

STDMETHODIMP CMyAdapterBase::GetAdapterName(BSTR* bsName) 
{ 
    bsName = SysAllocString(L"My Sample CTI Adapter"); 
    return S_OK; 
} 
STDMETHODIMP CMyAdapterBase::GetAdapterVersion(BSTR bsName) 
{ 
    bsName = SysAllocString(L"1.0 Candidate 2"); 
    return S_OK; 
} 
STDMETHODIMP CMyAdapterBase::UIAction(BSTR message){ 
{ 
    return S_OK; 
} 
void CMyAdapterBase::SendUIRefreshEvent(_bstr_t xml) 
{ 
    CCTILogger::Log(LOGLEVEL_HIGH,"Sending XML (len %d): %s",xml.length(), 
    (wchar_t)xml); 
    _ISalesforceCTIAdapterEvents_UIRefresh(xml); 
} 
+2

문제가되는 코드를 표시해야합니다 ... 제공하는 정보가 많을수록 더 유용한 답변 당신은 얻을 것이다. – LihO

+0

문제는 COM 클래스에 구현되지 않은 COM 인터페이스에 일부 메서드가 있기 때문입니다. 인터페이스 정의와 COM 클래스 정의를 게시하는 것이 좋습니다. – sharptooth

+0

게시 된 코드 스 니펫은 부적합합니다. 전체 오류 로그를 게시하고, 잘라내는 조각에 대해 소스 코드의 문제가있는 위치로 더 정확하게 이동해야합니다. 내 추측은 당신이 정적 또는 스택 할당 된 COM 클래스의 인스턴스를 사용하려고하는 반면에, 당신은'CComObject <...> :: CreateInstace'를 사용하여 생성해야한다고 말하고있다. –

답변

0

, 그것은 구체적인 하나가있다. CComObject 클래스에서 상속 한 클래스를 직접 작성하거나 소스가 없어도 도움이되는 것 외에 기존 구현 클래스를 사용할 수 있습니다.

+0

내 코드에서 조금 바뀐다. 다음과 대구는 다음과 같습니다 – user2831031

+0

내 코드가 사용법 #include "stdafx.h를" 사용법 #include "MyAdapterBase.h" STDMETHODIMP CMyAdapterBase :: GetAdapterName (BSTR * bsName) { \t \t * bsName = SysAllocString (L "내 샘플 CTI 어댑터"); \t \t 복귀 S_OK} STDMETHODIMP CMyAdapterBase :: GetAdapterVersion (BSTR * bsName) { \t * bsName = SysAllocString (L "1.0 후보 2"); S_OK를 반환; \t} STDMETHODIMP CMyAdapterBase :: UIAction (BSTR 메시지) { {\t \t return S_OK; } void CMyAdapterBase :: SendUIRefreshEvent (_bstr_t xml) { CCTILogger :: Log (LOGLEVEL_HIGH, "보내는 XML (len % d) : % s", xml.length(), (wchar_t *) xml); _ISalesforceCTIAdapterEvents_UIRefresh (xml); \t} – user2831031

+0

원래 질문에서 올바르게 형식을 지정해 주시겠습니까? –

관련 문제