再探弥补java与com的间隙

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

拜读zlyperson的轻松架起Java连接COM对象的桥梁后,受益匪浅,这里我想在zlyperson的基础上补充我在做一个项目中的一个运用方法。

项目需求:

从文件中读取数据,调用组件的算法来完成计算,将最终结果返回给java程序再实现结果的进一步运算和显示。

我所采取的策略是:

1、如何传入数据。

从文件中读取数据,如果在java中来完成的话,还要完成从java到com的数据传递,所以我索性在com中来完成,从java中传入一个文件的路径就行了。

ActiveXComponent ActiveXCom = new ActiveXComponent("ComponentName. Someclass");

Dispatch.put(ActiveXCom, "FilePath", new Variant("E:\\数据"));

2、如何得到返还结果。

public String[] GetFinalResult()

{

Variant temp_var;

temp_var = Dispatch.get(ActiveXCom, "FinalResults");

/*------------------------------------------------*/

//整个思路与MFC类似,先是转成SafeArray,然后得到其大小内容

/*------------------------------------------------*/

SafeArray ia = temp_var.toSafeArray();

int temp_lLowerBound = ia.getLBound();

int temp_lUpperBound = ia.getUBound();

int temp_lOptionalResultsNum = temp_lUpperBound - temp_lLowerBound + 1;

String temp_sString[] = new String[temp_lOptionalResultsNum];

for (int i = 0; i < lOptionalResultsNum; i++)

{

temp_sString[i] = ia.getString(i);

System.out.println(temp_sString[i]);

}

return temp_sString;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有