问题标签 [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.
pointers - 如何将参数与对偶函数绑定?
考虑这些 C 函数:
准备函数用于存储指向延迟long *
输出变量的指针。
它可以像这样在C中使用:
我试图在 Vala 中实现这样的目标:
如何为prepare ()
和INDICATE_SPECIAL_CASE
在 Vala 中编写绑定?
是否可以将变量一分为二?
即使在调用(in )out
之后写入变量,是否可以避免使用指针?prepare ()
execute ()
webkit - 如何在 vala 中创建一个简单的 webkit 浏览器?
我有这个简单的代码:
我的问题是当我编译时:
它给出了这个错误:
我使用 valac-0.26 所以它有 webkit2gtk-4.0。我通过一些谷歌搜索发现没有“ webkit2gtk-4.0.pc ”所以我从一个arch包下载然后它想要“ javascriptcore.pc ”并且在我复制它之后它也给出了相同的错误消息。这些都在“ /usr/lib/pkgconfig ”中。现在我几乎被困住了。如果有人可以,请帮助我。
vbscript - 无法通过 QC 中 VAPI 测试用例中的文件系统对象打开文本文件
我正在尝试在 QC 中读取我的 VAPI 测试用例中的配置文件。以下是代码片段:
但是我收到以下错误:关闭对象时不允许操作。
如果在简单的 .vbs 文件中从 QC 外部运行它,我可以使用相同的代码。任何人都可以帮我解决这个问题。谢谢
c - 如何指定在 Vala 中的回调参数之前提供用户数据?
我有一个如下所示的 C API:
如您所见,该CPRCEN_engine_set_callback
函数在回调之前获取用户数据,而默认情况下,Vala 希望它在回调之后。我知道CCode
属性的delegate_target_pos
参数,但是无论我指定什么位置,该userdata
值都会作为第一个参数而不是生成的函数调用中的第三个参数提供。我似乎无法理解 Vala 的参数定位逻辑。
以下是我希望绑定最终的样子:
我该如何进行这项工作?
vala - 为 Vala 库生成 Vapi 文件
我有一个用 Vala 编写的库,它总是可以很好.vapi
地为自己生成一个文件,我认为因为它是一个免费的操作,valac
但我对此并不积极。我去尝试VAPIGEN_CHECK
在我的文件和我configure.ac
的关联文件中使用,现在我得到:VAPIGEN_MAKEFILE
Makefile.am
我的相应.gir
文件包含:
GObject.TypeInstance
所以这个错误似乎是有道理的,因为我在任何.vapi
文件中都找不到类/结构,但GTypeInstance
在 GLib 标头之一中。
如果我已经在 Vala 中编写所有内容,我是否应该这样做?Vapi是否有可能缺少此功能?
编辑:可能只是因为我没有推导GLib.Object
,我认为这是隐含的。仍在尝试解决其他阻止此问题的问题,但是一旦完成,我将对其进行更新以说明它是否真的重要。
vala - 控制 Vapi 文件中的 ref 类型
我正在尝试为 MessagePack 编写一个 Vapi 文件并且遇到了几个问题,首先msgpack_object_print
是由于其中一个参数的引用类型导致结果不正确。头文件期望
我的 Vapi 文件包含
生成 C 输出
obj
类型在哪里msgpack_object *
。这会产生错误
如果我从生成的 C 中删除它,它就会消失&
。所以我想知道我的 Vapi 应该包含什么才能产生正确的输出?
vala - valac --vapi --internal-vapi --fast-vapi
有一个 vala 源文件,'Point.vala'
- --vapi
valac --vapi=Point.vapi --library=point -X -shared Point.vala
:
空的...
- --内部-vapi
valac --internal-vapi=Point.vapi --header=Point.h --internal-header=Point_internal.h --library=point -X -shared Point.vala
:
它看起来很完美,对我有用
- --fast-vapi
valac --fast-vapi=Point.vapi --library=point -X -shared Point.vala
:
error: External constants cannot use values
使用此 vapi 时,这会引发错误
Q1:确切的区别是什么?以及为什么有这些选项。
Q2 : 为了创建共享库,我应该使用 --internal-vapi 吗?
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?
vala - 如何在vala中使用固定大小的C数组类型?
假设我有一个 C 代码(dcomplex.h):
并想在 vala 中使用这样的数据类型。什么可以是最小的 vapi 文件和 vala 调用它?
(最终目标是使用 C99 complex.h 类型。)
我尝试了以下 dcomplex.vapi 文件的许多变体:
并在 vala 代码中使用,例如:
汇编
导致错误:
gnome - 如何从 gjs 访问 gnome-contacts 或其数据
根据这个答案(和评论) gnome-contacts 是 Gnome 的联系人集中的地方,它通过心灵感应进行了很好的聚合,但访问该信息的唯一方法似乎是 Gnome Shell 搜索提供程序,它只提供一个头像和一个名字。我一直在努力在 gjs 中复制部分 gnome-contacts,但在绑定方面遇到了很多麻烦。
有没有更简单的方法来实现这一点,或者我是否可以为 gnome-contacts 本身生成 vapi/gir 绑定,以便我可以像库一样使用它?
可能的替代解决方案:
在 GJS 中使用 libfolks 目前被Bug #694115阻止,但对于那些只需要 Google 联系人的人来说,可以通过GData在 GJS 中使用,如果可用的话,您甚至可以使用Gnome 在线帐户作为身份验证源。