由于工作需要,现需要用java通过jacob调用VC写的com组件,调用组件的中接口,并且这个接口带有输入输出参数,不知道参数怎么传,贴出代码,各位大哥大姐帮忙解决一下哈
要调用的函数的原型 FFT(double[] dbValueY,double[] dbValueF,double[] dbX,int nDim,int nFs),其中前两个是输出参数,后三个是输入参数,调的类如下:
public void usealgsign(double[] dbValueY,double[] dbValueF,double[] dbX,int nDim,int nFs){
dbX},new Variant(nDim),new Variant(nFs));
ActiveXComponent app = new ActiveXComponent("HBDesinSignServer.AlgSign");
try{Dispatch docs = (Dispatch) app.getObject();   
Dispatch.call(docs, "FFT",new Object[]{
new Variant(dbValueY,true),new Variant(dbValueF,true),new Variant(dbX),
new Variant(nDim),new Variant(nFs)});

Variant f = new Variant(false);
Dispatch.call(docs, "Close", f);
}finally{
ComThread.Release();  
}
}通过这个类调用
public static void main(String[] args) {
// TODO Auto-generated method stub

    double[] nums = {1,5,2,6,5,4,8,3,9,5};
double[] dbValueY = {0.0};
double[] dbValueF = {0.0};

AlgSign trans = new AlgSign();
trans.usealgsign(dbValueY,dbValueF,nums,10,1);
System.out.println("第一个参数:" + dbValueY[0]);
System.out.println("第2个参数:" + dbValueF[0]);
}
现在是这么个情况,能找到com组件,也就是app不为空,
但是一直报这个错误com.jacob.com.NotImplementedException: populateVariant() not implemented for class [D 
不知道哪位大侠帮忙解决一下,在此先谢过了,