代码之家  ›  专栏  ›  技术社区  ›  semmons99

IronRuby:无法使用一个或多个参数对COM对象调用方法

  •  0
  • semmons99  · 技术社区  · 15 年前

    当我尝试对接受一个或多个参数的COM对象调用任何方法时,在最后一个参数上会出现以下错误:

    Could not convert argument 0 for call to Open. (ArgumentError)
    

    当调用不带参数的方法或获取/设置属性时,一切都可以正常工作。下面是上面给出错误的代码:

    def new_com_object(prog_id)
      System::Activator.CreateInstance(System::Type.GetTypeFromProgID(prog_id))
    end
    
    xls = new_com_object('Excel.Application')
    xls.Visible = true
    xls.Workbooks.Open('c:\\Book1.xls')
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   semmons99    15 年前

    似乎在调用方法时需要使用string to_clr_string。现在IronRuby.net文档是借用的,所以很难弄清楚。

    推荐文章