金子です。

win32ole のソースを眺めていて気づいたのですが、
propertyput のエラーチェックが抜けているように思います。

こんな感じでしょうか。


--- win32ole.c.orig	Sun Feb 03 00:00:00 2002
+++ win32ole.c	Sat Feb 09 15:36:38 2002
@@ -1791,6 +1791,10 @@ fole_propertyput(self, property, value)
     for(index = 0; index < dispParams.cArgs; ++index) {
         VariantClear(&propertyValue[index]);
     }
+    if (FAILED(hr)) {
+        err_msg = ole_excepinfo2msg(&excepinfo);
+        ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, STR2CSTR(err_msg));
+    }
     return Qnil;
 }


-- 
金子 尚史 (KANEKO Naoshi)
e-mail: wbs01621 / mail.wbs.ne.jp