Christopher Dicely wrote in post #997903:
> On Tue, May 10, 2011 at 9:43 PM, Zd Yu <zdyu2000 / gmail.com> wrote:
>> Joel VanderWerf wrote in post #997899:
>>> On 05/10/2011 08:38 PM, Zd Yu wrote:
>>>> I want to achieve better performance through parallelism. The
>>>> thread-level parallelism is not an option, because it is not *really*
>>>> parallel.
>>>
>>> Is jruby acceptable? Jruby threads do make use of multiple processors.
>>
>> I need to use win32ole. I am afraid JRuby cannot do this.
>
> There is a jruby-win32ole gem -- I haven't used it, but it sounds like
> it may do what you want.

I just tried it. It seems there are some compatible problems. My code
does not work with JRuby + jruby-win32ole, although it works well with
ruby + win32ole.

The error looks like:
=====================
Dispatch.java:-2:in `invokev': org.racob.com.ComFailException: Invoke
of: Find
Source:
Description:

        from Dispatch.java:243:in `invokev'
        from Dispatch.java:187:in `callN'
        from RubyWIN32OLE.java:203:in `invokeMethodOrGet'
        from RubyWIN32OLE.java:112:in `method_missing'
        from RubyWIN32OLE$i$0$0$method_missing.gen:65535:in `call'
        from JavaMethod.java:642:in `call'
        from RuntimeHelpers.java:497:in `call'
        from CachingCallSite.java:345:in `callMethodMissing'
        from CachingCallSite.java:249:in `cacheAndCall'
        from CachingCallSite.java:71:in `call'
        from C:\my_tool.rb:1362:in `method__98$RUBY$find'


my code: (Excel manipulation)
==========
keys = @workbook.Worksheets("sheet name").Range( "A1" ).EntireRow

current = keys.Find( value,
                        nil,
                        WIN32OLE::XlValues,
                        WIN32OLE::XlPart,
                        WIN32OLE::XlByColumns,
                        WIN32OLE::XlNext,
                        false,
                        false,
                        false )


==================
it seems the 'Find' method cannot be invoked.

-- 
Posted via http://www.ruby-forum.com/.