2012-01-19 52 views
0

我在Ada寫簡單的聊天程序,並且我遇到了聊天窗口模擬的問題 - 點擊按鈕時它讀取文本表單條目並將其放在text_view上。這裏是code我已經寫了,這裏是編譯輸出:GtkAda簡單的聊天錯誤

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 

誰能告訴我是什麼問題,因爲我不知道爲什麼程序​​預計Gtk_Text_Iter,爲什麼Get_Text小姐開始參數?

+0

這可能是更好的更新您的原始問題,[聊天窗口與Gtk +](http://stackoverflow.com/questions/8877873/chat-window-with-gtk)。 – trashgod

回答

1

您必須調用正確的程序/函數。

在你的例子中,你調用Gtk.Text_Buffer.Get_Buffer,而不是正確的Gtk.Text_View.Get_Buffer。這是因爲你withuse Gtk.Text_Buffer,但不要use Gtk.Text_View。你應該小心你use。與Get_Text相同。

如果爲Gtk.Text_View和Gtk.GEntry添加use子句,那些錯誤應該消失。

但我給你一個建議:儘量少用use條款。這樣你總能知道真正叫什麼功能。

TLDR:use Gtk.Text_View; use Gtk.GEntry;添加到On_Btn_Send_Clicked程序的聲明部分。