COM:供应商提供的TLB文件

时间:2009-09-10 13:52:47

标签: ruby winapi com win32ole typelib

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

  

AcdAutomationServer(I)

     

AcdAutomationServerClass(C)

     

AcdEvent(I)

     

AcdEventClass(C)

     

AcdObject(I)

     

AcdObjectClass(C)

     

IAcdAutomationServer(I)

     

IAcdEvent(I)

     

IAcdObject(I)

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

  

模块IAcdAutomationServer(...)

     

class Ccs_Application(...)

     

模块IAcdEvent(...)

     

模块AcdEvent(...)

     

模块IAcdObject(...)

     

模块AcdObject(...)

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

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

1 个答案:

答案 0 :(得分:0)

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