为什么我在我创建的对话中获得Your Aggregate is(null):
。
我使用gtk_entry_get_text
,任何人都可以指出我在这里做错了什么。
请尽快提交我的项目。 任何好的教程链接也将不胜感激。
答案 0 :(得分:1)
gtk_entry_get_text()
返回的指针是临时的,不归你所有,而是由GtkEntry本身拥有。到调用show_info()
时,该指针将变为无效。如果以任何方式更改GtkEntry
,该指针也可能无效。最后,如果GtkEntry从不触发其activate
信号(按Enter键),则全局变量仍为NULL。
通过不保存gtk_entry_get_text()
的回报来解决此问题。而是直接从show_info()
内调用它。由您决定如何将show_info()
GtkEntry传递给gtk_entry_get_text()
。
另一种方法是使用g_strdup()
中的enter_callback()
制作条目文本的副本。完成后,您需要手动g_free()
字符串。您仍然需要确保调用enter_callback()
。
答案 1 :(得分:0)
我通过将entry1,entry2和entry3作为全局变量来解决问题。