通过java调用.net生成的dll文件 遇到如下问题 :
1:调用返回值为string或者int类型的方法成功 ,如果返回一个对象类型 而该对象是.net中特有的 在java中不存在 还可以获取到么?
补充:我是通过jacob方式来处理的 。 测试源码如下:
Dispatch test = new Dispatch("A.B");  // A为dll名称,B为对象类型。
Dispatch.call(test, "PlotSymbol",new Variant("xxx"));  //PlotSymbol为方法名称。

解决方案 »

  1.   

     ActiveXComponent activeXComponent=new ActiveXComponent(ConstString.ATOCXID);
    Dispatch  disp=activeXComponent.getObject();
    ConstString.ATOCXID===dll的注册id
      

  2.   


     ActiveXComponent activeXComponent=new ActiveXComponent(ConstString.ATOCXID);
    Dispatch  disp=activeXComponent.getObject();
    你的dll注册了吗~
      

  3.   


    dll文件时注册过的 写入到注册表里了 
    Dispatch   disp=activeXComponent.getObject();
    你说的这个方法 我也看过 .他返回的是个Dispatch 跟dll文件中的类型又如何做转换?