【发布时间】:2018-02-14 23:35:14
【问题描述】:
我正在为 OpenOffice Calc 开发一个“宏”。作为语言,我选择了 Java,以便在 Eclipse 中获得代码帮助。我什至写了一个小的ant 构建脚本,它编译并将“宏”嵌入到*.ods 文件中。一般来说,这工作得很好,而且速度惊人。我已经非常成功地使用了一些简单的东西。
但是
我经常被卡住,因为使用UNO,我需要“查询”任何给定非平凡对象的接口,以便能够访问该对象的数据/调用方法。即,我确实需要猜测给定对象可能提供哪些接口。这在 Java 开发过程中一点也不明显,甚至不可见(通过某种元信息、反射等),而且文档也很少(我下载了很多东西,但我没有找不到我正在使用的接口的源代码或 JavaDoc,例如 XButton、XPropertySet 等 - XButton 有 setLabel,但 没有 getLabel - 什么? ?)。
有在线文档(对于最基本的概念,一点也不差!),但是它缺少我所面临的许多细节。它总是神奇地停在我需要解决的地方。
我愿意查看C++ 代码以了解对象(例如,我当前遇到的按钮/事件)可能提供的接口。令人困惑的是,C++ 类和文件名与 Java 接口并不完全匹配。 几乎是我正在寻找的东西,但是在 Java 中我并没有真正找到等价物,或在给定对象上调用 queryInterface 会返回 null。 . 它变得有点令人沮丧。
UNO Java 接口是如何生成的?代码中是否有某种文档作为生成 (Java) 代码的来源?
我想我真的需要知道什么接口在什么时候可用,以便在Java-UNO-macro开发过程中变得更加流畅。 p>
【问题讨论】:
标签: java openoffice-calc uno