문제

Phobos와 함께 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의 버그입니다. 트렁크/src/glib/str.d (찾은 wm4에 감사)에서 147 행을 변경하여 ""; (.dup을 제거).

다른 팁

당신은 assert (empty! = null) 대신 assert (empty! is null)를 작성해야합니다.

나는 사용했다 "\0" 그리고 그것은 작동하는 것 같았습니다.

보이지 않는 캐릭터가 텍스트 필드에 들어간 지 모르겠지만 이것은 C의 빈 문자열이 단지 단지라는 가정에 근거합니다. \0

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top