执行环境

From Apache OpenOffice Wiki
< Zh‎ | Documentation
Revision as of 09:26, 31 July 2008 by Jirong (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


作业在作业执行环境中执行,该环境可以处理执行作业时出现的许多任务和问题。特别是,

  • 使用所有必要数据初始化作业
  • 使用正确接口启动作业
  • 通过获取 UNO 引用保持作业活动
  • 作业完成任务前它将一直等待,包括侦听异步作业
  • 完成作业后更新作业的配置
  • 通知侦听器有关执行的信息
  • 防止作业出现办公软件终止,或者在不可能放弃终止时通知作业


为此,作业执行环境将建立用于作业的特殊的包装对象。此包装对象实现了支持生命周期控制的一些机制。只要存在从属的活动对象,此包装就将拒绝 com.sun.star.frame.Desktop 的终止以及包含文档模型的框架的关闭。它可能还会在 com.sun.star.frame.Framecom.sun.star.document.OfficeDocument 注册为 com.sun.star.util.XCloseListener 以代表作业处理通信的关闭。它还侦听异步作业实例,并在作业完成后负责更新配置数据(请参阅 编写 UNO 组件 - 将组件集成到 OpenOffice.org - 作业 - 返回结果)。


OpenOffice.org 中外部组件面临的中心问题是其生命周期的控制。每个外部组件必须处理环境将终止的可能性。在每个作业中都实现生命周期策略并不是有效的,因此作业执行环境必须负责处理此问题。这样一来,作业可以执行,而困难情况则由执行环境处理。


此方法的另一个好处是可以确保以后的兼容性。如果将来机制发生更改,将会检测并防止终止,并且不必调整每个现有的作业实现。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages