質問

フォボスと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されていることを前提としている。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top