Hello!

I access MS Excel using OLE Automation with Ruby.
The problem is that after quitting it, Excel process is still in the memory.
When I did the same thing with Python, it was released.
Is it related to the GC behavior?
(Python uses reference counting method and Ruby uses Mark and Sweep.)

Here's my code:

def get_excel(fn = "", visible = true)
    require 'win32ole'
    excel = WIN32OLE.new("Excel.application")
    excel.visible = visible
    if fn != ""
        excel.Workbooks.Open(fn)
    end
    return excel
end

xl = get_excel
....#handles xl
xl.quit #Excel disappears from the screen.
xl = nil #In Python, this GCed Excel completely.
GC.start #Excel seems to go away but the process is still alive when I watch
Task Manager.

Did I do something wrong?
Thanks.

Sam