5

フォボスでの D1 の使用

のテキスト入力フィールド、インスタンスがありますgtk.Entry.Entry

を呼び出すとsetText("")実行時エラーが発生します

Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed

なんで?Dに問題があるようです、私はこれを試しました:

string empty = "";
assert (empty != null);
my_entry.setText(empty)

アサーションが失敗したため、プログラムは終了しました。

どうすればこれを回避できますか?

4

3 に答える 3

5

D が「空文字列」と「空文字列」を本当に区別しているとは思いません。安価な回避策は setText(" ") です。

[編集] 気にしないでください。これは gtkD のバグです。Trunk/src/glib/Str.d で (見つけてくれてありがとう wm4)、147 行目を return ""; に変更します。(.dup を削除します)。

于 2009-05-31T05:33:02.413 に答える
3

assert(empty != null) の代わりに assert(empty !is null) と書くべきです

于 2009-05-31T23:19:33.460 に答える
1

使っ"\0"ていて効果があったようで、

非表示の文字がテキスト フィールドに入力されたかどうかはわかりませんが、これは C の空の文字列が単に\0

于 2009-05-31T05:38:52.980 に答える