2009-05-31 8 views
5

setText("")を呼び出すDでは、空の文字列を渡す方法は? (gtkDに)

は、実行時エラー

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

なぜを上げ、フォボス

私は、テキスト入力フィールド、gtk.Entry.Entryのインスタンスを持っているとD1を使用していますか?それはDの問題だと思って、私はこれを試みた:

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

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

どうすれば対処できますか?

答えて

5

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

[編集]それを心配しないでください。これはgtkDのバグです。 trunk/src/glib/Str.d(見つけた方はwm4に感謝します)、行147を ""を返すように変更してください。 (.dupを削除してください)。

1

私は目に見えない文字がテキストフィールドに入ったかどうか知りませんが、これはCに空の文字列がちょうど\0

であるという仮定に基づいている私は "\0"を使用し、動作するように見え、

3

assert(empty!= null)の代わりにassert(empty!is null)を記述する必要があります

関連する問題