我有一个供应商提供的TLB文件,用于生成Ruby代理类。然而,有关的TLB描述了6个接口和3个类:
AcdAutomationServer (I) AcdAutomationServerClass (C) AcdEvent (I) AcdEventClass (C) AcdObject (I) AcdObjectClass (C) IAcdAutomationServer (I) IAcdEvent (I) IAcdObject (I)
但是,运行Ruby1.8.6 win32ole库类的OLEGEN工具(位于\doc\ Ruby \ruby-1.8.6\sample\win32ole中)将生成一个Ruby代理类,其中包括:
模IAcdAutomationServer (.) Ccs_Application类(…) 模IAcdEvent (.) 模AcdEvent (.) 模IAcdObject (.) 模AcdObject (.)
我需要实例化Ccs_Application以外类型的对象!仅使用模块,如何执行AcdEvent的方法Connect (必须在AcdEvent对象上运行)?
有Ruby COM经验的人吗?提前感谢!
发布于 2009-09-15 15:57:48
在Masaki的帮助下,答案是这里。这在Ruby1.9的WIN32OLE模块中是可能的,因为它需要实例化WIN32OLE::VARIANT对象。
https://stackoverflow.com/questions/1405423
复制相似问题