Java 通过jacob 调用VB activeX

freeman0526 freeman0526 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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[] {});
}
}

}
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
freeman0526
Eclipse 58,439 成员 49,457 内容