Java 通过jacob 调用VB activeX
function bus(const indata: WideString; var outdata: WideString): Smallint;
这个是VbOCX 函数里面带有一个输出的OutData; 现在调用没有问题,就是调用之后这个outdata的返回无法取到
有高手的来分不多.
Java Test ;
public class TestActive {
public static void main (String args[]){
ActiveXComponent xl = new ActiveXComponent("PB90.bshandle.7.3");
Dispatch disp = xl.getObject();
try{
int i = Dispatch.call(disp, "Init").getShort();
System.out.println("Ocx返回" + i);
String indata = "01|042201265187215183188187180192191265181189183183191211203" +
"1982632913173053363213221082651901961901881922792002652632912"+
"59256258178188261231257212223215658|22957663963766563363063262" +
"7634635639631563556554562577574639500|056231293221243215206216" +
"205288289293285293286284292307304293154" ;
Pointer pErrMsg = null;
pErrMsg = new Pointer(MemoryBlockFactory.createMemoryBlock(1024));
Variant vin = new Variant(indata) ;
Variant vout = new Variant("");
//i =Dispatch.call(disp, "bus",vin ,vout ).getShort();
i= Dispatch.call(disp, "business",vin ,vout).getShort();
System.out.println("business 返回值" + i );
if (vout.equals("")){
System.out.println("AA");
}
if (vout == null){
System.out.println("bb");
}
if (vout.isNull()){
System.out.println("NULL");
}
Object obj = new Object() ;
System.out.println( vout.toObject().toString()) ;
vout.putVariant(obj);
System.out.println("aa + " + obj.toString());
System.out.println("Vout1.toStrig= " +vout.getVariant());
System.out.println("Vout1.toStrig= " +vout.toByte() ) ;
System.out.println("Vout.toStrig= " + vout.toString());
String s = "";
s = pErrMsg.getAsString() ;
System.out.println(s);
vout.putString(s);
System.out.println("ssss" + s);
//System.out.println(vout.getStringRef());
//String s = vout.getString() ;
//System.out.println(s);
} catch (Exception e){
e.printStackTrace();
}finally{
//xl.invoke("Quit", new Variant[] {});
}
}
}
这个是VbOCX 函数里面带有一个输出的OutData; 现在调用没有问题,就是调用之后这个outdata的返回无法取到
有高手的来分不多.
Java Test ;
public class TestActive {
public static void main (String args[]){
ActiveXComponent xl = new ActiveXComponent("PB90.bshandle.7.3");
Dispatch disp = xl.getObject();
try{
int i = Dispatch.call(disp, "Init").getShort();
System.out.println("Ocx返回" + i);
String indata = "01|042201265187215183188187180192191265181189183183191211203" +
"1982632913173053363213221082651901961901881922792002652632912"+
"59256258178188261231257212223215658|22957663963766563363063262" +
"7634635639631563556554562577574639500|056231293221243215206216" +
"205288289293285293286284292307304293154" ;
Pointer pErrMsg = null;
pErrMsg = new Pointer(MemoryBlockFactory.createMemoryBlock(1024));
Variant vin = new Variant(indata) ;
Variant vout = new Variant("");
//i =Dispatch.call(disp, "bus",vin ,vout ).getShort();
i= Dispatch.call(disp, "business",vin ,vout).getShort();
System.out.println("business 返回值" + i );
if (vout.equals("")){
System.out.println("AA");
}
if (vout == null){
System.out.println("bb");
}
if (vout.isNull()){
System.out.println("NULL");
}
Object obj = new Object() ;
System.out.println( vout.toObject().toString()) ;
vout.putVariant(obj);
System.out.println("aa + " + obj.toString());
System.out.println("Vout1.toStrig= " +vout.getVariant());
System.out.println("Vout1.toStrig= " +vout.toByte() ) ;
System.out.println("Vout.toStrig= " + vout.toString());
String s = "";
s = pErrMsg.getAsString() ;
System.out.println(s);
vout.putString(s);
System.out.println("ssss" + s);
//System.out.println(vout.getStringRef());
//String s = vout.getString() ;
//System.out.println(s);
} catch (Exception e){
e.printStackTrace();
}finally{
//xl.invoke("Quit", new Variant[] {});
}
}
}
...全文
相关推荐
使用JACOB工具调用COM组件
使用JACOB工具调用COM组件 JACOB 就是 JAVA-COM Bridge的缩写,提供自动访问com的功能,也是通过JNI功能访问Windows平台下的com组件或者win32系统库。这是一个开始于1999年的开源项目的成果。本书使用的是jacob1.7,从如下网址可下载得到: http://danadler.com/jacob/ 但是使用JACOB可以先编写COM组件,再在Java中调用,这在许多遗留在系统中COM组件是常用的,因此,使用JACOB对于系统的集成是比较实用的功能。
Java调AutoCAD接口.zip
通过Jacob调用AutoCAD接口绘图,包含java代码和vb代码
jacob1.9 jacob1.12 jacob1.14
jacob1.9 jacob1.12 jacob1.14内附使用说明和三个jar包,由于不同机器适应不同版本,所以打包三个任你选!
基于Java的实例开发源码-COM中间件 JACOB.zip
基于Java的实例开发源码-COM中间件 JACOB.zip
jacob-1.16.zip
jacob-1.16.zip java调用word,vb


Eclipse
