[#35406] RE: win32ole で excel が終了しない — "Oka Yasushi" <oka@...>

こんにちは、岡といいます。

20 messages 2002/06/19
[#35407] Re: win32ole で excel が終了しない — Takashi Kanai <kanai@...4u.or.jp> 2002/06/19

金井です。

[#35408] Re: win32ole で excel が終了しない — Takashi Kanai <kanai@...4u.or.jp> 2002/06/19

金井です。

[#35412] Re: win32ole で excel が終了しない — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/06/20

なひです。

[#35418] Re: win32ole で excel が終了しない — Takashi Kanai <kanai@...4u.or.jp> 2002/06/20

金井です。

[#35419] Re: win32ole で excel が終了しない — nobu.nakada@... 2002/06/21

なかだです。

[#35480] Re: 1.7 系を使っていますが、5月頃は式展開内のコメントが使えていましたが、今は使えなくなっていますね。 — "井上 浩一" <kyoui32@...>

井上です。

12 messages 2002/06/28
[#35490] Re: 1.7 系を使っていますが、5月頃は式展開内のコメントが使えていましたが、今は使えなくなっていますね。 — "Inoue" <rubyist@117.ne.jp> 2002/06/28

井上です。

[ruby-list:35433] Re: win32ole で excel が終了しない

From: arton <artonx@...>
Date: 2002-06-23 07:38:20 UTC
List: ruby-list #35433
artonです。

On Sun, 23 Jun 2002 16:24:35 +0900
nobu.nakada@nifty.ne.jp wrote:

> > > ひょっとして今1.7でWIN32OLD.allocate.eachとかするとSEGVしますか?
> > ちょっとallocateっていうのは良くわからない(のは、Ruby1.6系+
> > Win32OLE0.4.8で僕の環境は止まっているから)ですが、
> 
> allocateだけしてinitializeしないと、たぶんpDispatchがNULLのまん
> まなのではないかと。
これは、Objectのメソッドではなくて、拡張ライブラリでメモリー確保してその
直後になんかを呼ぶという意味なんでしょうか? だと、WIN32OLE.newでは必ず
IDispatchの取得が行われます(できなければ例外)から、NULL初期化というこ
とは無いです。

> 
> > アウトプロセスサーバ(Excelとか)だとしばらくはプロクシが生きていたりする
> > ので必ずしもSEGVしませんが、インプロセスサーバならほぼイチコロです。
> 
> プロクシが生きてると、IDispatchが非同期に破棄されるということで
> すか?
プロクシの生成タイミングはわかるんですが、消滅タイミングは知りません。多
分、キャッシュされてプロセス終了時まで残るんじゃないかと思います
(Windowsのバージョンによって異なる可能性はあります)。
実際の動作(Windows2000 SP2)は、

D:\work>type sgvx.rb
require 'win32ole'
excel = WIN32OLE.new( 'Excel.Application' )
WIN32OLE.ole_free excel
excel.quit

D:\work>ruby sgvx.rb
sgvx.rb:4:in `method_missing': Unknown property or method : `quit' (WIN32OLERunt
imeError)
    HRESULT error code:0x800401fd
      オブジェクトをサーバー #ここはちょっと変だな(コメントby arton)
        from sgvx.rb:4

切れているメッセージは正確には「オブジェクトをサーバーに接続できません 」
で、プロクシ(というより、LRPCプロトコルスタックが正確かも。段々自信がな
くなってきました……)がエラーを返しています。

-- 
arton <artonx@yahoo.co.jp>

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/

In This Thread