java 调用ocx控件 15

不想在客户端注册控件,所以想在服务端调用。查资料看到jacob能够做到使用中有些问题:javascrip中调用<OBJECTid="devread"name="devre... 不想在客户端注册控件,所以想在服务端调用。查资料看到jacob能够做到
使用中有些问题:
javascrip中调用
<OBJECT id="devread" name="devread" classid="clsid:9DBF8DA1-B41D-4F5D-871F-3408586105B6" codebase="HyLicence.ocx" style="display:none;"></OBJECT>
<script>
var res = devread.getLicence("21011219750526201777","20131215","20150215")
</script>
没有问题
在java中调用
ActiveXComponent com = new ActiveXComponent("clsid:9DBF8DA1-B41D-4F5D-871F-3408586105B6") ;
Dispatch disp = (Dispatch) com.getObject();
String qysh = "21011219750526201777";
String begin = "20131215";
String end = "20150215";
Dispatch.call(disp,"getLicence",new Variant(qysh),new Variant(begin),new Variant(end));
//异常
com.jacob.com.ComFailException: Can't map name to dispid: getLicence
请问该怎么做,是不是方法名不一样啊
展开
 我来答
匿名用户
2015-07-06
展开全部
是不是没有加上返回值,比如返回值布尔型,Dispatch.call(disp,"getLicence",new Variant(qysh),new Variant(begin),new Variant(end)).getBoolean();
另外还要测试是否可以返回null
匿名用户
2015-07-06
展开全部
java中没有调过, 都是在js中调用的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-06
展开全部
传参的时候getLicence换成devread这个试试
追问
不行 同样的异常
com.jacob.com.ComFailException: Can't map name to dispid: devread
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式