[#41120] ActiveScriptRuby で Racc をインストールできない — "conundrum /" <conundrum@...>

conundrumです。

11 messages 2005/09/09

[#41157] RD と rdoc に関する newbie な質問 — "conundrum /" <conundrum@...>

conundrumです。

13 messages 2005/09/19
[#41158] Re: RD と rdoc に関する newbie な質問 — rubikitch <rubikitch@...> 2005/09/19

From: "conundrum /" <conundrum@hotmail.co.jp>

[#41159] Re: RD と rdoc に関する newbie な質問 — "conundrum /" <conundrum@...> 2005/09/19

conundrumです。るびきちさん、直々の回答ありがとうございます。

[ruby-list:41126] Re: win32oleで複数のout引数をARGVで取得できない

From: tateishi@...
Date: 2005-09-10 10:58:08 UTC
List: ruby-list #41126
お世話になります。舘石です。

>>STDMETHODIMP CTestObj1::GetStatus(VARIANT* p1, VARIANT* p2, VARIANT* p3)
>>{
> 
>  	*p1 = _variant_t("aaa").Detach();

> 
> とDetach()を使うとどうでしょうか。
> 

ああ、こうやってやるんですね。やっとわかりました。ありがとうございます。

以前のだと、_variant_tが消えるときに、VariantClearが呼び出されて、
BSTRもSysFreeStringされてしまっていた。
Detachして、VariantClearは呼び出し元にまかせなきゃダメですよね。
もっと勉強しないと(汗)

> 
>>STDMETHODIMP CTestObj1::GetStatus(VARIANT* p1, VARIANT* p2, VARIANT* p3)
>>{
>>	_variant_t v1("aaa");
>>	_variant_t v2("bbb");
>>	_variant_t v3("ccc");
>>
>>	*p1 = v1;
>>	*p2 = v2;
>>	*p3 = v3;
>>
>>	return S_OK;
>>}
>>
> こっちもいささかあやしい気がします。
> 

でも、なぜこっちはちゃんと動くのか不思議です。
呼び出し元がVARIANTを見たときには、すでに
解放されているはずですよね?

ふと気づけば、話がぜんぜんRubyじゃなくなってます。。。
失礼しました。


In This Thread

Prev Next