[#39106] What processor do you run ruby on? — "K.Sasada" <ko1@...>

 ささだです。

13 messages 2004/02/09
[#39200] Re: What processor do you run ruby on? — "K.Sasada" <ko1@...> 2004/02/17

"K.Sasada" <ko1@namikilab.tuat.ac.jp> wrote :

[#39207] Re: What processor do you run ruby on? — Isamu KOZUKA <kozuka@...> 2004/02/17

小塚@しなきゃならないテストがいっぱいだ〜....です。

[#39129] InternetExplorer ってインターフェースとして使える? — Shin-ichiro HARA <sinara@...>

原です。

34 messages 2004/02/10
[#39130] Re: InternetExplorer ってインターフェースとして使える? — Yac <yac@...> 2004/02/10

岡です。

[#39136] Re: InternetExplorer ってインターフェースとして使える? — Yac <yac@...> 2004/02/10

岡です。

[#39140] Re: InternetExplorer ってインターフェースとして使える? — arton <artonx@...> 2004/02/11

artonです。別件。

[#39144] Re: InternetExplorer ってインターフェースとして使える? — Shin-ichiro HARA <sinara@...> 2004/02/12

原です。

[#39145] Re: InternetExplorer ってインターフェースとして使える? — arton <artonx@...> 2004/02/12

artonです。

[#39146] Re: InternetExplorer ってインターフェースとして使える? — nobu.nakada@... 2004/02/12

なかだです。

[#39147] Re: InternetExplorer ってインターフェースとして使える? — arton <artonx@...> 2004/02/12

artonです。

[#39150] Re: InternetExplorer ってインターフェースとして使える? — nobu.nakada@... 2004/02/12

なかだです。

[#39151] Re: InternetExplorer ってインターフェースとして使える? — arton <artonx@...> 2004/02/12

artonです。

[#39275] DnD on win32 — Shinichiro HIDA <shinichiro@...>

飛田と申します。

21 messages 2004/02/26
[#39276] Re: DnD on win32 — たむらけんいち <sgs02516@...> 2004/02/26

たむらです。

[#39277] Re: DnD on win32 — Shinichiro HIDA <shinichiro@...> 2004/02/27

飛田です。

[#39278] Re: DnD on win32 — Itou-T15@... 2004/02/27

[#39288] 固有値、固有ベクトルの計算 — Masahiro Sato <msato@...>

19 messages 2004/02/27

[ruby-list:39147] Re: InternetExplorer ってインターフェースとして使える?

From: arton <artonx@...>
Date: 2004-02-12 11:40:17 UTC
List: ruby-list #39147
artonです。

> > [2 patch.txt <application/octet-stream (base64)>]
> > +     VALUE* parg = ALLOC_N(VALUE, args);
> > +     for (i = 0; i < args; i++) {
> > + 	*(parg + i) = ole_variant2val(&pDispParams->rgvarg[args - i - 1]);
> > +     }
> 
> pargはALLOCA_N()を使えば解放する必要がなくなると思います。
というか、解放を忘れてました。
> 
> +     pdisp = ALLOC(Win32OLEIDispatch);
> +     pdisp->dispatch.lpVtbl = p;
> +     pdisp->refcount = 1;
> +     pdisp->obj = val;
> 
> このobjはmark不要?
このあたりが今ひとつわからないのですが
> +     pdisp->refcount = 1;
        rb_gc_register_address(val);
> +     pdisp->obj = val;
としておいて、COMのリファレンスカウンタが0になった時の自己解放処理での
+     if (u == 0) {
+ 	free(p->dispatch.lpVtbl);
+ 	free(p);
+     }
を
+     if (u == 0) {
+ 	free(p->dispatch.lpVtbl);
        rb_gc_unregister_address(val);
+ 	free(p);
+     }
とすれば良い?

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

__________________________________________________
Do You Yahoo!?
http://bb.yahoo.co.jp/


In This Thread