【问题标题】:cannot instantiate abstract class while creating CTI adaptor创建 CTI 适配器时无法实例化抽象类
【发布时间】:2013-10-06 06:14:50
【问题描述】:

我正在尝试使用 CTI Toolkit 4.03 在 Visual Studio 2008 中构建 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); 
} 

【问题讨论】:

  • 您应该向我们展示有问题的代码...您提供的信息越多,您得到的答案就越有用。
  • 问题是因为您在 COM 接口中有一些方法未在您的 COM 类中实现。最好把接口定义和COM类定义贴出来。
  • 贴出的代码 sn-p 无关紧要。发布完整的错误日志,并注意它应该将您更准确地带到您剪切的片段上的源代码有问题的位置。我的猜测是您正在尝试使用 COM 类的静态或堆栈分配实例,而您应该使用 CComObject&lt;...&gt;::CreateInstace 创建

标签: c++ visual-studio visual-c++ com atl


【解决方案1】:

那是因为你不能创建一个抽象类的实例,它必须是一个具体的实例。您可以编写自己的继承自 CComObject 类的类,也可以使用现有的实现类,而且如果没有任何源代码很难提供帮助

【讨论】:

  • 我对我的代码进行了一些更改,现在我遇到了一些不同的错误。鳕鱼如下:
  • 我的代码是 #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");返回 S_OK; } STDMETHODIMP CMyAdapterBase::UIAction(BSTR message){ { 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); }
  • 能否请您在原始问题中正确格式化?
猜你喜欢
  • 2019-04-07
  • 2015-08-04
  • 1970-01-01
  • 2017-02-05
  • 2015-10-06
  • 2012-09-08
相关资源
最近更新 更多