日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于做ceb转换cebx遇到的问题及解决方案总结

發布時間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于做ceb转换cebx遇到的问题及解决方案总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ceb在手機端無法查看,于是老總讓我做一個ceb轉換cebx的功能,嵌入到附件上傳的過程中。然后在任務的過程中遇到了幾個問題,糾結了好幾天,四天就走了三行代碼,太令我印象深刻了。今天在這里給大家分享下,希望有遇到同樣問題的同志有所幫助。

問題主要出現在:ActiveXComponent ax = new ActiveXComponent("MakerCom.MakerExt");
????????????????????????????? ?Object apabi = ax.getObject();
????????????????????????????? ?Variant result = Dispatch.call(apabi, "BeginMaker", new Variant(""));

先后報了兩個錯:1.automation 服務器不能創建對象

????????????????????????????????2.java.lang.NoSuchMethodError: com.jacob.activeX.ActiveXComponent.getObject()

解決方案:1.首先我也百度了各種解決方法,包括regsvr32?scrrun.dll,安全模式設置成“中”,如果javascript腳本中報這個錯誤,還應將IE的安全設置“不允許運行未標記為安全的activeX控件”啟用,regsvr32?msxml3.dll等等??墒且琅f沒解決“automation 服務器不能創建對象”這個錯誤,后來在無意之間才發現根本原因,在對注冊表查案的時候,發現注冊的dll文件路徑是亂碼,所以原因就是在注冊dll時路徑中帶了中文,然后我重新注冊dll,第一個問題也就解決了。(總結:由于帶有中文路徑的dll注冊頁可以注冊成功,在注冊dll一定要去掉中文路徑

2.接著就出現第二個問題了,前提我也已經引入jacob.dll,jacob.jar對應的路徑下,后來經過百度知道jacob與jdk版本(我的是jdk1.6)有關,不同的jdk要對應的jacob,然后我在網上下載七八個版本,最后在jacob1.9版本能夠getObject了,但是報錯沒有對應的call方法,原因是1.9版本的jacob.jar包中Dispatch.call(Dispatch, String, new Variant(""));而我寫的Dispatch.call(apabi, "BeginMaker", new Variant(""));中的apabi是Object類型的。但是我改了Dispatch? apabi = ax.getObject();后又報第二個錯誤。所以我又重新找了jacob.jar包(其中Dispatch.call(Object, String, new Variant(""));符合我代碼調用),然后問題就解決了。(總結:jacob.dll版本要對應環境的jdk版本,Object apabi = ax.getObject();和Dispatch.call(apabi, "BeginMaker", new Variant(""));要對應jacob.jar包的方法,有可能你的jacob的getObject()返回類型是Dispatch?

其實,word轉換等文件類型轉換也是一樣的。

總結

以上是生活随笔為你收集整理的关于做ceb转换cebx遇到的问题及解决方案总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。