1

GArray を作成しようとしましたが、常に同じエラーが発生します。

const GLib = imports.gi.GLib;

var garray = new GLib.Array(true, true, 1); // ボックス化された型の配列にはゼロ引数がないため構築できず、既存のものをラップすることしかできません

var garray = new GLib.Array(); // ボックス化された型の配列にはゼロ引数がないため構築できず、既存のものをラップすることしかできません

GnomeKeyring.item_create_sync メソッドで使用するには GArray が必要です。

GnomeKeyring.item_create_sync( "login", 4, "name", new GLib.Array(true, true, 1) "pass", true);

GArray の代わりに他のタイプの配列を試しました。ここにエラーがあります

  • []-> オブジェクト 0xb5d120d0 は (null) のサブクラスではなく、配列です
  • new Array()-> オブジェクト 0xb5e12138 は (null) のサブクラスではなく、配列です
  • {}-> オブジェクト 0xb5d0b1b0 は (null) のサブクラスではなく、オブジェクトです
  • 5-> Number から GArgument をアンパックする未処理の GType GArray
  • "5"-> 引数 'attributes' のタイプ インターフェイスが予期されていましたが、タイプ 'string' を取得しました

誰かが解決策を持っているGArray場合GnomeKeyring.item_create_sync

4

2 に答える 2

1

を読ん/usr/share/gir-1.0/GnomeKeyring-1.0.girで検索しfunction name="item_create_sync"ます。そこにはすべての必要なパラメーターがあり、プレーンなリストが必要なようです。GnomeObjectIntrospection は、必要に応じてそれを GArray に変換します。

于 2015-04-29T01:05:24.837 に答える