日期:2014-05-20  浏览次数:20682 次

jcom访问com组件的问题
现在想使用jcom访问com组件,已经可以访问到了,但是在接口调用方面看例子实在得不出一个方法,目前com组件c++调用它的接口的方法是:
int   nDataCount;
VARTIANT   pvDataArray;
IRtDB-> GetRuntimeValue(&nDataCount,   &pvDataArray);

DcapData   *   pData   =   (DcapData   *)pvDataArray.parray-> pvData;       //DcapData是个已知的数据结构。

for(int   n   =   0;   n   <   nDataCount;   n++)
{
pData[n].TableType   为数据n的类型代号;
pData[n].BoxID   为数据n的机箱号;
pData[n].BoxIndex   为数据n的机箱内序号;
pData[n].SpaceID   为数据n的间隔号;
pData[n].SpaceIndex   为数据n的间隔内序号;

pData[n].Value   为数据n的实时值;
pData[n].Status   为数据n的状态;
}

ClearVariant(&pvDataArray);

用jcom怎么去调用接口GetRuntimeValue(...,...)?

------解决方案--------------------
System.runFinalizersOnExit(true);
ActiveXComponent mf=new ActiveXComponent( "MailServerCtrl.MailDBInterface ");//找到组件
Object myCom=mf.getObject();//生成一个对象

Dispatch.call(myCom,method,param...);
//example
Dispatch.call(myCom, "AddUser/方法 ", "参数1 ", "参数2 ", "参数3 ");