Question

Utilisation de D1 avec phobos

J'ai un champ de saisie de texte, instance de gtk.Entry.Entry,

appelant setText("") déclenche une erreur de temps d'exécution

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

Pourquoi? Il semble être un problème avec D, j'ai essayé ceci:

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

Le programme a pris fin comme l'affirmation a échoué.

Comment puis-je contourner cela?

Était-ce utile?

La solution

Je ne pense pas que D différencie vraiment entre « chaîne vide » et « string null ». Une solution pas cher serait setText ( » « ).

[modifier] Peu importe que. Il est un bogue dans gtkD. dans le coffre / src / glib / Str.d (grâce WM4 pour trouver ci), la ligne de changement 147 pour revenir ""; (Supprimer la .dup).

Autres conseils

Vous devriez écrire assert (vide! Est nulle) au lieu de assert (vide! = Null)

je "\0" et il semblait travailler,

Je ne sais pas si un caractère invisible est entré dans le champ de texte, mais ceci est basé sur l'hypothèse qu'une chaîne vide dans C est juste \0

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top