[id(203), helpstring("method LoadPolyDataXml")] HRESULT LoadPolyDataXml([out,retval]CComBSTR bstrPolyData);


我收到如下错误:


  错误1错误MIDL2025:语法错误:期望在“ CComBSTR”附近有类型说明


怎么解决?

最佳答案

请用BSTR *替换CComBSTR。 CComBSTR不应在IDL文件中使用

那么用法是

CComBSTR data;
LoadPolyDataXml(&data)


实现可能是

HRESULT LoadPolyDataXml(BSTR* pData);
{
  if (pData == 0) return E_POINTER;

  CComBSTR xml;
  // ... reading xml here
  *pData = xml.Detach()
  or
  *pData = ::SysAllocString(string data here)

}


不要忘记检查内存不足错误

关于c++ - 接口(interface)定义中的方法声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13858908/

10-16 05:31