Ruby Win32ole HRESULT 错误 code:0x80040154

Ruby Win32ole HRESULT error code:0x80040154

我正在尝试打开一个应用程序:Bluezone Mainframe Emulator 来尝试使用 Ruby 自动化一些大型机进程。

我 运行 在尝试使用 Win32ole 打开应用程序时遇到问题。到目前为止,这是我的代码:

require 'win32ole'

class BluezoneRunner
  attr_reader :app

  def initialize
    @type = WIN32OLE_TYPE.new('BZWhll 7.1 Type Library', 'WhllObj')
    @app = WIN32OLE.new('BZWhll.WhllObj')
  end

  def visible=(is_visible)
    @app.visible = is_visible
  end

  def close
    @app.Quit
  end
end

分配应用程序对象时脚本失败并出现此错误:

Uncaught exception: failed to create WIN32OLE object from `BZWhll.WhllObj'
    HRESULT error code:0x80040154
      Class not registered
    C:/RubyProjects/mksta-sandbox/bluezone-automation/run_ole.rb:9:in `initialize'
    C:/RubyProjects/mksta-sandbox/bluezone-automation/run_ole.rb:9:in `new'
    C:/RubyProjects/mksta-sandbox/bluezone-automation/run_ole.rb:9:in `initialize'
    C:/RubyProjects/mksta-sandbox/bluezone-automation/bluezone_runner.rb:3:in `new'
    C:/RubyProjects/mksta-sandbox/bluezone-automation/bluezone_runner.rb:3:in `<top (required)>'

我目前 运行ning Windows 10 64 位,Ruby 2.2.4p230(2015-12-16 修订版 53155)[x64-mingw32]。我正在尝试 运行 的应用程序位于 C:\Program Files (x86)\BlueZone.1.

任何关于此错误的帮助都会很棒!

事实证明,我的错误是由于使用了 64 位版本的 Ruby。

要解决此问题,请使用 32 位 (X86) 版本的 Ruby 到 运行 此代码。