2012-01-19 4 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_Buffer 절차, 그리고 왜 Get_Text 미스 시작 매개 변수가 없기 때문에 사람이 문제 무엇인지 말씀해 주시겠습니까?

+0

원래 질문 [Gtk +으로 채팅 창] (http://stackoverflow.com/questions/8877873/chat-window-with-gtk)을 업데이트하는 것이 좋습니다. – trashgod

답변

1

올바른 절차/기능을 호출해야합니다.

예에서는 이 아닌 Gtk.Text_Buffer.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 절차의 선언 부분에 추가하십시오.