UNO 可执行文件

From Apache OpenOffice Wiki
Jump to: navigation, search
  • UNO 可执行文件


专业 UNO - UNO 语言绑定 - C++ 语言绑定 中,介绍了几种引导 UNO 应用程序的方法。本节将讨论 UNO 可执行文件。有了 UNO 可执行文件,就不必再编写可执行文件,而是只开发组件。可执行文件中的代码已锁定,只能通过启动可执行文件运行,并且不能在其他上下文中使用。组件具有一个优势,即它们可以从任何位置使用,它们可以从 Java 或远程进程执行。


为处理这些情况,引入了com.sun.star.lang.XMain 接口。它使用一个方法:

  /* module com.sun.star.lang.XMain */
  interface XMain: com::sun::star::uno::XInterface
  {
      long run( [in] sequence< string > aArguments ); 
  };


不需编写可执行文件,而是编写一个组件并实现此接口。组件在实例化期间将获得完全的初始化的服务管理器。run() 方法则应该完成 main() 函数应完成的工作。UNO 可执行文件提供了一种可能的基础结构,以使用此类组件。


uno 工具主要可以执行两种不同的工作:

  1. 实例化支持 com.sun.star.lang.XMain[IDL:com.sun.star.lang.XMain] 接口并执行 run() 方法的 UNO 组件。
  // module com::sun::star::lang
  interface XMain: com::sun::star::uno::XInterface
  { 
      long run( [in] sequence< string > aArguments ); 
  };
  1. 通过接受 TCP/IP 套接字或命名管道等资源将 UNO 组件导出到另一个进程,并按要求进行实例化。


在这两种情况下,uno 可执行文件将创建一个要传送到已实例化组件的 UNO 组件上下文。应使用的注册表通过命令行参数给出。此工具的目标是减小编写可执行文件的需求,并集中精力编写组件。组件实现的优势是,它们不关心如何引导组件上下文。将来会有更多的方法用于引导组件上下文。虽然可执行文件必须经过调整才能使用新功能,但是支持 XMain 的组件可以重复使用。

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