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
请问该怎么做,是不是方法名不一样啊 展开
使用中有些问题:
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
另外还要测试是否可以返回null
2015-07-06
展开全部
java中没有调过, 都是在js中调用的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-06
展开全部
传参的时候getLicence换成devread这个试试
追问
不行 同样的异常
com.jacob.com.ComFailException: Can't map name to dispid: devread
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询