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);
}
문제가되는 코드를 표시해야합니다 ... 제공하는 정보가 많을수록 더 유용한 답변 당신은 얻을 것이다. – LihO
문제는 COM 클래스에 구현되지 않은 COM 인터페이스에 일부 메서드가 있기 때문입니다. 인터페이스 정의와 COM 클래스 정의를 게시하는 것이 좋습니다. – sharptooth
게시 된 코드 스 니펫은 부적합합니다. 전체 오류 로그를 게시하고, 잘라내는 조각에 대해 소스 코드의 문제가있는 위치로 더 정확하게 이동해야합니다. 내 추측은 당신이 정적 또는 스택 할당 된 COM 클래스의 인스턴스를 사용하려고하는 반면에, 당신은'CComObject <...> :: CreateInstace'를 사용하여 생성해야한다고 말하고있다. –