From: Masahiro S. <s01...@sf...> - 2002-06-23 11:44:04
|
さかいです。 From: Masao Mutoh <mu...@hi...> Subject: [ruby-gnome2-devel-ja] rbgobj_rvalue_to_gvalue Date: Sun, 23 Jun 2002 13:34:48 +0900 > void rbgobj_rvalue_to_gvalue(VALUE val, GValue* result) > > って、 > > GValue* rbgobj_rvalue_to_gvalue(VALUE val) > > にできないでしょうか。 以下のように使うという事でしょうか? GValue* hoge = rbgobj_rvalue_to_gvalue(obj); 〜(中略)〜 g_value_unset(hoge); free(hoge); 出来ないことは無いと思いますが、それって不便じゃないですか? > あ、今気づいたんですが、ひょっとして、 > > VALUE rbgobj_gvalue_to_rvalue(GValue* value) > void rbgobj_rvalue_to_gvalue(VALUE val, GValue* result) > > の戻り値ってさかいさんのおっしゃるところの「一対一対応関係」 > を保証してくれない形じゃないですか? > #登録された変換関数に依存? GObjectに話を限定すると、 GValueはGObjectへのポインタを格納するコンテナに過ぎなくて、 ポインタの指している先もg_value_set_object()で変更出来るので、 GValue構造体そのものとRubyのオブジェクトを対応付ける事に 意味は無いような気がします。 PS: GValueについて誤解してた事に気が付いてしまった。 g_value_init()で指定したGTypeの値しかset出来ないんですね…… どーしよー -- さかい |