同一篇打开两次office无响应的bug

 我们用office打开一篇文档后,一般会产生一个.~lock.速度极慢.odt#样子的文件,该文件预示着该文档已经被锁住了,如果你要打开该文档,则必须是只读方式打开
  但是我写的接口OpenDocument第二个参数一般都是传的是2,也就是可读写,这样一来进入到NsoBean后调用的loadfromURL,
com.sun.star.lang.XComponent xComponent =
xLoader.loadComponentFromURL( aURL, /*aFrame.getName()*/"_self", 0, aArgs );
这样一来都会报错参数不正确,因为你用可读写去打开一篇被锁住只能只读打开的文档,吴那边linux版本的做法是删除掉lock文件即可,而windows中删除掉lock文件打开后还是只读,并且会报错。不过诞生了一个解决方案,那就是在打开文档之前判断文档是否被加载,或者说frame是否为空,如果为空则继续流程,如果不为空则执行
clear,OOoBean提供的一个方法clear,
Any loaded document is unloaded, no matter whether it is modified or not.
        After calling this method, the OOoBean has no office document and no frame
        anymore.  The connection will stay, though.
并且顺便可以解决一个问题,就是调用close后,打开文档也出错,因为相关的frame之类的东西没有清理干净,直接调用clear即可


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值