UNO 可执行文件
From Apache OpenOffice Wiki
< Zh | Documentation
在 专业 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 工具主要可以执行两种不同的工作:
- 实例化支持 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 ); };
- 通过接受 TCP/IP 套接字或命名管道等资源将 UNO 组件导出到另一个进程,并按要求进行实例化。
在这两种情况下,uno 可执行文件将创建一个要传送到已实例化组件的 UNO 组件上下文。应使用的注册表通过命令行参数给出。此工具的目标是减小编写可执行文件的需求,并集中精力编写组件。组件实现的优势是,它们不关心如何引导组件上下文。将来会有更多的方法用于引导组件上下文。虽然可执行文件必须经过调整才能使用新功能,但是支持 XMain
的组件可以重复使用。
Content on this page is licensed under the Public Documentation License (PDL). |