现在想使用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 ");