Project

General

Profile

Actions

Bug #16116

closed

ruby2.6.3(x86/x64) use win32ole could not new Object, return 0x80070057

Added by whdukewu (Kewu DU) over 4 years ago. Updated over 2 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.3p62 (2019-04-16 revision 67580) [i386-mingw32]
[ruby-core:94481]
Tags:

Description

I build a RubyTest.dll by C#, In ruby2.2, I could use WIN32OLE.new to create ole object, but in the same system under ruby2.6.3, it failed to create ole object by WIN32OLE.new, is there any different between ruby 2.2 and ruby 2.6.3 in WIN32OLE?

OS: Win7 Profressional SP1 64bit

/////// Ruby 2.6.3 use WIN32OLE failed to load dll //////////
C:\Ruby26\bin>ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [i386-mingw32]

C:\Ruby26\bin>irb
irb(main):001:0> require 'win32ole'
=> true
irb(main):002:0> WIN32OLE.new('RubyTest.DllTest')
Traceback (most recent call last):
6: from C:/Ruby26/bin/irb.cmd:31:in <main>' 5: from C:/Ruby26/bin/irb.cmd:31:in load'
4: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in <top (require 3: from (irb):2 2: from (irb):2:in new'
1: from (irb):2:in initialize' WIN32OLERuntimeError (failed to create WIN32OLE object from RubyTest.DllTest')
** HRESULT error code:0x80070057
The parameter is incorrect.**
irb(main):003:0>

c:\TestTools\impeller\lib\Ruby\bin>ruby -v
ruby 2.2.6p396 (2016-11-15 revision 56800) [i386-mingw32]

/////// Ruby 2.2 use WIN32OLE success load dll //////////
c:\TestTools\impeller\lib\Ruby\bin>irb
irb(main):001:0> require 'win32ole'
=> true
irb(main):002:0> WIN32OLE.new('RubyTest.DllTest')
@@@DllTest Constructor
=> #WIN32OLE:0x7418b68
irb(main):003:0>


Files

ClassLibraryForRuby.zip (1.55 KB) ClassLibraryForRuby.zip krolchatina (Dmitry Kirillov), 08/11/2021 07:58 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0