![]() ![]() |
|
Java学习:再探弥补java与com的间隙 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/6/12 20:49:58 文章录入:杜斌 责任编辑:杜斌 | |
|
|
项目需求: 从文件中读取数据,调用组件的算法来完成计算,将最终结果返回给java程序再实现结果的进一步运算和显示。 我所采取的策略是: 1、从文件中读取数据,如果在java中来完成的话,还要完成从java到com的数据传递,所以我索性在com中来完成,从java中传入一个文件的路径就行了。 ActiveXComponentActiveXCom=newActiveXComponent("ComponentName.Someclass"); Dispatch.put(ActiveXCom,"FilePath",newVariant("E:\\数据")); 2、如何得到返还结果 publicString[]GetFinalResult() { Varianttemp_var; temp_var=Dispatch.get(ActiveXCom,"FinalResults"); /*------------------------------------------------*/ //整个思路与MFC类似,先是转成SafeArray,然后得到其大小内容 /*------------------------------------------------*/ SafeArrayia=temp_var.toSafeArray(); inttemp_lLowerBound=ia.getLBound(); inttemp_lUpperBound=ia.getUBound(); inttemp_lOptionalResultsNum=temp_lUpperBound-temp_lLowerBound+1; Stringtemp_sString[]=newString[temp_lOptionalResultsNum]; for(inti=0;i<lOptionalResultsNum;i++) { temp_sString[i]=ia.getString(i); System.out.println(temp_sString[i]); } returntemp_sString; } |
|
![]() ![]() |