小松です。

In the message of [ruby-list:19172] Re: Win32OLE on NT
    on 1999/12/6 09:34:56 Koji Oda <oda / bsd1.qnes.nec.co.jp> wrote:
> 結果は、同様の現象が発生します。
> 
> # Win32OLE 0.0.6 は使ってなかったんで気づきませんでした(^^;
> 
> 環境:NT4.0 Workstation + SP5, VC++6.0 + SP3, Excel97
>       mswin32 版 Ruby 1.4.2

私のところでも再現してます。

環境: NT 4.0 Server + SP5, VC++6.0 + SP3, Excel97 + SR2
      ruby 1.5.0 (1999-12-14) [i386-mswin32]

一応、以下でハングしなくなりました。

--
小松克行 / Katsuyuki Komatsu <komatsu / sarion.co.jp>

--- win32ole.dist/win32ole.c Fri Nov 26 20:42:16 1999 +++ win32ole/win32ole.c Tue Dec 14 23:11:18 1999 @@ -16,4 +16,5 @@ */ +#define _WIN32_WINNT 0x0400 #include "ruby.h" #include "st.h" @@ -243,5 +244,5 @@ static void ole_uninitialize() { - OleUninitialize(); + CoUninitialize(); } @@ -251,5 +252,5 @@ ole_initialize() HRESULT hr; if(gOLEInitialized == Qfalse) { - hr = OleInitialize(NULL); + hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); if(FAILED(hr)) { rb_raise(rb_eRuntimeError, "Fail : OLE initialize");