COM菜鸟的一个小问题,

bluestar 2005-12-13 11:37:31
一个定义
CComQIPtr pEnum( resultV.punkVal );

报错

error C2955: 'CComQIPtr' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(715) : see declaration of 'CComQIPtr'

此CPP已经包含了 #include <atlbase.h>

如何解决,谢谢?

其实我最终目的是解决JS传到VC里的数组参数问题,谁有这方面的例子?再次感谢
信箱mainblue@sina.com

谢谢
...全文
162 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2005-12-13
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=188114
Kudeet 2005-12-13
  • 打赏
  • 举报
回复
数组参数可以用safearray
modena 2005-12-13
  • 打赏
  • 举报
回复
如果是JavaSrcipt用的是VT_DISPATCH类型,那么说明JavaScript传递的将是一个对象,而每中对象都应该是实现某些组件的一部分,你需要明确需要传递的对象类型及起对应的接口.

如果你无法预知传递的对象类型,个人建议你查询IDispatch接口,并把该接口传递给那些用这个接口的人(类),他们应该知道这些接口的类型
modena 2005-12-13
  • 打赏
  • 举报
回复
IEnum什么都不是,应该是你需要查询出来的接口定义
比如说IHTMLDocument2或者其他的
bluestar 2005-12-13
  • 打赏
  • 举报
回复
IEnum 是???

COM很菜,刚用
Stefine 2005-12-13
  • 打赏
  • 举报
回复
哎,都是上星的大哥啊

看来来错地方了
modena 2005-12-13
  • 打赏
  • 举报
回复
你需要指定你将要查询的目标接口类型和GUID
modena 2005-12-13
  • 打赏
  • 举报
回复
需要这样写:
CComQIPtr<IEnum, &IID_Enum> pEnum( resultV.punkVal );
差不多等同于:
HRESULT hr;
IEnum *pEnum;
if( FAILED( hr = resultV.punkVal->QueryInterface( IID_IEnum, (void **)pEnum ) ) )
{
return hr;
}

当然,使用这中方式可以不考虑pEnum释放问题!
bluestar 2005-12-13
  • 打赏
  • 举报
回复
我在VC里是用VARIANT来解决VB/VBS/JS传参数的问题的

if (Buffer.vt == (VT_VARIANT | VT_BYREF)) //VB Script
{
USES_CONVERSION;
pv = Buffer.pvarVal ;
psa = *(Buffer.pvarVal->pparray);
}
else if(Buffer.vt == (VT_UI1 | VT_ARRAY)) //VB
{
psa = Buffer.parray;
}

但是如果是JavaSrcipt用的是VT_DISPATCH类型,如何处理呢?

或者有谁告诉我:

一个定义
CComQIPtr pEnum( resultV.punkVal );

报错

error C2955: 'CComQIPtr' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(715) : see declaration of 'CComQIPtr'

此CPP已经包含了 #include <atlbase.h>

如何解决,谢谢

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧