GtkAda简单聊天错误

GtkAda简单聊天错误,gtk,ada,Gtk,Ada,我正在用Ada编写一个简单的聊天程序,但我在模拟聊天窗口时遇到了问题——点击按钮时,它会读取文本表单条目并将其放在文本视图中。这是我写的,这是编译输出: gnatmake client `gtkada-config` gcc -c -I/usr/include/gtkada client_pkg.adb client_pkg.adb:14:19: no candidate interpretations match the actuals: client_pkg.adb:14:37: expec

我正在用Ada编写一个简单的聊天程序,但我在模拟聊天窗口时遇到了问题——点击按钮时,它会读取文本表单条目并将其放在文本视图中。这是我写的,这是编译输出:

gnatmake client `gtkada-config`
gcc -c -I/usr/include/gtkada client_pkg.adb
client_pkg.adb:14:19: no candidate interpretations match the actuals:
client_pkg.adb:14:37: expected private type "Gtk_Text_Iter" defined at gtk-text_iter.ads:48
client_pkg.adb:14:37: found type "Gtk_Text_View" defined at gtk-text_view.ads:58
client_pkg.adb:14:37:   ==> in call to "Get_Buffer" at gtk-text_buffer.ads:568
client_pkg.adb:14:37:   ==> in call to "Get_Buffer" at gtk-text_buffer.ads:407
client_pkg.adb:15:34: no candidate interpretations match the actuals:
client_pkg.adb:15:34: missing argument for parameter "Start" in call to "Get_Text" declared at gtk-text_buffer.ads:283
client_pkg.adb:15:34: missing argument for parameter "Start" in call to "Get_Text" declared at gtk-text_buffer.ads:270
gnatmake: "client_pkg.adb" compilation error

谁能告诉我问题出在哪里,因为我不知道为什么过程
Get\u Buffer
需要
Gtk\u Text\u Iter
,为什么
Get\u Text
miss Start参数?

必须调用正确的过程/函数

在您的示例中,您调用的是
Gtk.Text\u Buffer.Get\u Buffer
,而不是正确的
Gtk.Text\u视图.Get\u Buffer
。这是因为您使用
使用
Gtk.Text\u缓冲区,但不使用
Gtk.Text\u视图。使用
时应小心。获取文本也一样

如果为Gtk.Text_视图和Gtk.GEntry添加
use
子句,这些错误应该会消失

但我给你一个建议:尽量少用
use
子句。这样,您总是知道真正调用的函数是什么


TLDR:添加
使用Gtk.Text\u视图;使用Gtk绅士到发送上的
声明部分,单击程序。

最好更新原始问题。