问题标签 [vapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
38 浏览

pointers - 如何将参数与对偶函数绑定?

考虑这些 C 函数:

准备函数用于存储指向延迟long *输出变量的指针。

它可以像这样在C中使用:

我试图在 Vala 中实现这样的目标:

如何为prepare ()INDICATE_SPECIAL_CASE在 Vala 中编写绑定?

是否可以将变量一分为二?

即使在调用(in )out之后写入变量,是否可以避免使用指针?prepare ()execute ()

0 投票
1 回答
1084 浏览

webkit - 如何在 vala 中创建一个简单的 webkit 浏览器?

我有这个简单的代码:

我的问题是当我编译时:

它给出了这个错误:

我使用 valac-0.26 所以它有 webkit2gtk-4.0。我通过一些谷歌搜索发现没有“ webkit2gtk-4.0.pc ”所以我从一个arch包下载然后它想要“ javascriptcore.pc ”并且在我复制它之后它也给出了相同的错误消息。这些都在“ /usr/lib/pkgconfig ”中。现在我几乎被困住了。如果有人可以,请帮助我。

0 投票
0 回答
109 浏览

vbscript - 无法通过 QC 中 VAPI 测试用例中的文件系统对象打开文本文件

我正在尝试在 QC 中读取我的 VAPI 测试用例中的配置文件。以下是代码片段:

但是我收到以下错误:关闭对象时不允许操作。

如果在简单的 .vbs 文件中从 QC 外部运行它,我可以使用相同的代码。任何人都可以帮我解决这个问题。谢谢

0 投票
1 回答
90 浏览

c - 如何指定在 Vala 中的回调参数之前提供用户数据?

我有一个如下所示的 C API:

如您所见,该CPRCEN_engine_set_callback函数在回调之前获取用户数据,而默认情况下,Vala 希望它在回调之后。我知道CCode属性的delegate_target_pos参数,但是无论我指定什么位置,该userdata值都会作为第一个参数而不是生成的函数调用中的第三个参数提供。我似乎无法理解 Vala 的参数定位逻辑。

以下是我希望绑定最终的样子:

我该如何进行这项工作?

0 投票
1 回答
472 浏览

vala - 为 Vala 库生成 Vapi 文件

我有一个用 Vala 编写的库,它总是可以很好.vapi地为自己生成一个文件,我认为因为它是一个免费的操作,valac但我对此并不积极。我去尝试VAPIGEN_CHECK在我的文件和我configure.ac的关联文件中使用,现在我得到:VAPIGEN_MAKEFILEMakefile.am

我的相应.gir文件包含:

GObject.TypeInstance所以这个错误似乎是有道理的,因为我在任何.vapi文件中都找不到类/结构,但GTypeInstance在 GLib 标头之一中。

如果我已经在 Vala 中编写所有内容,我是否应该这样做?Vapi是否有可能缺少此功能?

编辑:可能只是因为我没有推导GLib.Object,我认为这是隐含的。仍在尝试解决其他阻止此问题的问题,但是一旦完成,我将对其进行更新以说明它是否真的重要。

0 投票
2 回答
62 浏览

vala - 控制 Vapi 文件中的 ref 类型

我正在尝试为 MessagePack 编写一个 Vapi 文件并且遇到了几个问题,首先msgpack_object_print是由于其中一个参数的引用类型导致结果不正确。头文件期望

我的 Vapi 文件包含

生成 C 输出

obj类型在哪里msgpack_object *。这会产生错误

如果我从生成的 C 中删除它,它就会消失&。所以我想知道我的 Vapi 应该包含什么才能产生正确的输出?

0 投票
1 回答
125 浏览

vala - valac --vapi --internal-vapi --fast-vapi

有一个 vala 源文件,'Point.vala'

  1. --vapi

valac --vapi=Point.vapi --library=point -X -shared Point.vala

空的...

  1. --内部-vapi

valac --internal-vapi=Point.vapi --header=Point.h --internal-header=Point_internal.h --library=point -X -shared Point.vala

它看起来很完美,对我有用

  1. --fast-vapi

valac --fast-vapi=Point.vapi --library=point -X -shared Point.vala

error: External constants cannot use values使用此 vapi 时,这会引发错误

Q1:确切的区别是什么?以及为什么有这些选项。

Q2 : 为了创建共享库,我应该使用 --internal-vapi 吗?

0 投票
1 回答
696 浏览

gtk - Missing gtk_menu_popup_at_pointer()

I am writing a Gtk program in Vala that uses a Gtk.Menu.
I need to use Gtk.Menu.popup_at_pointer() to display a menu when the right mouse button is clicked.

When compiling (with --pkg gtk+-3.0), GCC gives me an error: warning: implicit declaration of function ‘gtk_menu_popup_at_pointer’ [-Wimplicit-function-declaration]

The method exists in /usr/share/vala-0.34/vapi/gtk+-3.0.vapi, but is missing in /usr/include/gtk-3.0/gtk/gtkmenu.h.

Here are the versions of the relevant packages on my system:

What should I do to be able to use this method?

0 投票
1 回答
286 浏览

vala - 如何在vala中使用固定大小的C数组类型?

假设我有一个 C 代码(dcomplex.h):

并想在 vala 中使用这样的数据类型。什么可以是最小的 vapi 文件和 vala 调用它?

(最终目标是使用 C99 complex.h 类型。)

我尝试了以下 dcomplex.vapi 文件的许多变体:

并在 vala 代码中使用,例如:

汇编

导致错误:

0 投票
1 回答
222 浏览

gnome - 如何从 gjs 访问 gnome-contacts 或其数据

根据这个答案(和评论) gnome-contacts 是 Gnome 的联系人集中的地方,它通过心灵感应进行了很好的聚合,但访问该信息的唯一方法似乎是 Gnome Shell 搜索提供程序,它只提供一个头像和一个名字。我一直在努力在 gjs 中复制部分 gnome-contacts,但在绑定方面遇到了很多麻烦。

有没有更简单的方法来实现这一点,或者我是否可以为 gnome-contacts 本身生成 vapi/gir 绑定,以便我可以像库一样使用它?

可能的替代解决方案:

在 GJS 中使用 libfolks 目前被Bug #694115阻止,但对于那些只需要 Google 联系人的人来说,可以通过GData在 GJS 中使用,如果可用的话,您甚至可以使用Gnome 在线帐户作为身份验证源。