Question1 : COM中事件池事件重载时Variant类型的获取问题
COM中事件池函数重载如下:
HRESULT TMsgEventHandler::InvokeEvent(DISPID id, TVariant *params)
{
switch(id)
{
case 1:
.....
break;
default:
.....
}
}
我想做的事情是,在此重载方法中,根据服务器触发的ID来触发客户端相关事件,这些事件的参数都封装在 TVariant 类型的 params 中了.譬如可能有两个参数,一个是int,一个是IDispatch或IUnknown类型.
附InvokeEvent虚函数:
virtual void __fastcall InvokeEvent(int DispID, TVariantArray ¶ms)
实际定义时按照IDispatchEvent类模板,必须定义为:
void __fastcall InvokeEvent(DISPID id, TVariant *params)
现在的问题是,如何得到params有多少维?(即几个参数),各个参数的具体类型及转换方法.
望各位不吝赐教,在线等待.