1

我有这个供应商提供的 TLB 文件,我用它来生成 Ruby 代理类。但是,有问题的 TLB 描述了 6 个接口和 3 个类:

AcdAutomationServer (I)

AcdAutomationServerClass (C)

活动(一)

AcdEventClass (C)

对象(一)

AcdObjectClass (C)

IAcdAutomationServer (I)

IAcd事件(一)

IAcd 对象(一)

但是运行 Ruby 的 1.8.6 win32ole 库类(位于 \doc\ruby\ruby-1.8.6\sample\win32ole)的 OLEGEN 工具会生成一个 Ruby 代理类,其中包含:

模块 IAcdAutomationServer (...)

类 Ccs_Application (...)

模块 IAcdEvent (...)

模块 AcdEvent (...)

模块 IAcdObject (...)

模块 AcdObject (...)

我需要实例化 Ccs_Application 以外的类型的对象!仅使用模块,我如何执行,例如,必须在 AcdEvent 对象上运行的 AcdEvent 的方法 Connect?

有 Ruby COM 经验的人吗?提前致谢!

4

1 回答 1

0

在 Masaki Suketa 的帮助下,答案如下所示。这只能在 Ruby 1.9 的 WIN32OLE 模块中实现,因为它需要实例化 WIN32OLE::VARIANT 对象。

于 2009-09-15T15:57:48.370 回答