同一篇打开两次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即可


你可能感兴趣的:(windows,linux,Office,文档)