在D中,如何传递一个空字符串?(对gtkD)

has*_*sen 5 gtk string d gtkd

将D1与phobos一起使用

我有一个文本输入字段,实例gtk.Entry.Entry,

调用setText("")会引发运行时错误

Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed
Run Code Online (Sandbox Code Playgroud)

为什么?这似乎是D的一个问题,我试过这个:

string empty = "";
assert (empty != null);
my_entry.setText(empty)
Run Code Online (Sandbox Code Playgroud)

程序在断言失败时终止.

我该如何解决这个问题?

Fee*_*ure 5

我不认为D真正区分"空字符串"和"空字符串".一个廉价的解决方法是setText("").

[编辑]没关系.这是gtkD中的一个错误.在trunk/src/glib/Str.d中(感谢wm4查找),更改第147行返回""; (删除.dup).