Frage

Mit D1 mit phobos

Ich habe ein Texteingabefeld Instanz gtk.Entry.Entry,

Aufruf setText("") wirft einen Laufzeitfehler

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

Warum? Es scheint ein Problem mit D zu sein, habe ich versucht, dies:

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

Das Programm wie die Behauptung beendet ist fehlgeschlagen.

Wie kann ich dieses Problem umgehen?

War es hilfreich?

Lösung

Ich glaube nicht wirklich D zwischen „leeren String“ und „null string“ unterscheiden. Eine günstige Abhilfe würde setText (“„) werden.

[Bearbeiten] Nevermind, dass. Es ist ein Fehler in gtkD. in trunk / src / glib / Str.d (dank WM4 es für die Suche), ändern Linie 147 zurückzukehren ""; (Entfernen Sie die .dup).

Andere Tipps

Sie sollten schreiben behaupten (leeren! Null ist) anstelle von assert (leer! = Null)

Ich habe "\0" und es schien, zu arbeiten

Ich weiß nicht, ob irgendein unsichtbaren Zeichen in das Textfeld bekamen, aber dies wird auf der Annahme basiert, dass ein leerer String in C ist nur \0

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top