2012-01-19 18 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プロシージャの宣言部に追加します。