首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Gjs中创建GArray

无法在Gjs中创建GArray
EN

Stack Overflow用户
提问于 2013-02-17 10:33:35
回答 2查看 288关注 0票数 1

我试图创建一个GArray,但始终存在相同的错误:

const GLib = imports.gi.GLib; var garray =新的GLib.Array(true,true,1);//无法构造装箱类型数组,因为它没有零args,只能包装现有的数组。 var garray =新的GLib.Array();//无法构造装箱类型数组,因为它没有零args,只能包装现有的数组。

我需要一个GArray来在GnomeKeyring.item_create_sync方法中使用它:

GnomeKeyring.item_create_sync(“登录”,4,“名称”,新GLib.Array(真,真,1)“传递”,真);

我尝试了其他类型的数组,而不是GArray,以下是错误

  • [] ->对象0xb5d120d0不是(null)的子类,而是一个数组
  • new Array() ->对象0xb5e12138不是(null)的子类,而是一个数组
  • {} ->对象0xb5d0b1b0不是(null)的子类,而是一个对象
  • 5 ->未处理的GType GArray从数字中解压GArgument
  • "5" ->期望参数‘属性’的类型接口,但得到类型'string‘

如果有人有GArrayGnomeKeyring.item_create_sync的解决方案

EN

回答 2

Stack Overflow用户

发布于 2015-04-29 01:05:24

阅读/usr/share/gir-1.0/GnomeKeyring-1.0.gir并搜索function name="item_create_sync"。您有所有必需的参数,在我看来,您需要一个简单的列表。GnomeObjectIntrospection将在需要时将其转换为GArray。

票数 1
EN

Stack Overflow用户

发布于 2019-11-06 11:48:53

GNOME Shell的回顾将在可能和必要的情况下自动转换JS和GNOME类型。如果在JS空间中创建数组并将其传递给需要GArray的函数,则如果将数组作为参数传递,Shell将进行转换。

唯一未被转换的对象是其类存在于一个空间中,而不是另一个空间中的对象。像GNOME File对象一样,因为JS没有本机文件处理程序。您可以在filestreams上使用.toString()方法将其内容作为字符串获取,也可以调用读取方法将二进制值作为整数数组来获取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14920159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档