Domanda

Utilizzo D1 con Phobos

Ho un campo di inserimento del testo, istanza di gtk.Entry.Entry,

chiamando setText("") solleva un errore di tempo di esecuzione

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

Perché? Sembra essere un problema con la D, ho provato questo:

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

Il programma terminato come l'asserzione non riuscita.

Come posso ovviare a questo?

È stato utile?

Soluzione

Non credo D differenzia davvero tra "stringa vuota" e "stringa nulla". Una soluzione a basso costo sarebbe setText (" ").

[modifica] Nevermind che. Si tratta di un bug in gtkD. nel trunk / src / glib / Str.d (WM4 grazie per la ricerca di esso), cambiare linea 147 per tornare ""; (Rimuovere il .dup).

Altri suggerimenti

Si dovrebbe scrivere affermare (vuoto! È nullo) al posto di assert (vuoto! = Null)

ho usato "\0" e tutto sembrava funzionare,

Non so se qualsiasi carattere invisibile ottenuto nel campo di testo, ma questo si basa sul presupposto che una stringa vuota in C è solo \0

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top