Dでは、どのように空の文字列を渡す方法は? (gtkDへ)
質問
フォボスと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)
アサーションとして終了プログラムは失敗します。
私はこの問題を回避するにはどうすればよい?
解決
私はDは本当に「空の文字列」と「空文字列」を区別しないと思います。安価な回避策は、(」「)のsetTextされるだろう。
[編集]ネヴァーマインドいます。それはgtkDのバグです。 glibのトランク/ srcに/中/ Str.d(それを見つけるためのおかげWM4)、チェンジ・ライン147「」戻ります。 (.dupを除去する)。
他のヒント
あなたが主張書くべき(空!nullである)の代わりにアサート(空!= NULL)の
私は"\0"
を使用し、動作するように見え、
私は目に見えない文字がテキストフィールドに入ったかどうか知りませんが、これはCに空の文字列がちょうど\0
されていることを前提としている。
所属していません StackOverflow