GetWindowText() funktioniert nicht.
-
Ich setze in meinem Programm bei Programmstart einen Initialwert in ein EDIT-Feld.
Wenn der User diesen Wert ändert und dann ich mit GetWindowText() ihn versuche auszulesen erhalte ich immer nur den initialwert.kann es sein, dass der user-input nicht die selbe wirkung auf das edit-control hat wie ein setwindowtext() aufruf auf den control?
Ich weis nicht mehr weiter..
-
Wo, wie und wann rufst Du denn GetWindowText auf?
Deine Aussagen lassen den Schluß zu, das Du auf eine Aktion des Users reagierst... auf welche, und wie?
-
Eigentlich spielt das keine Rolle! Bist du sicher, dass der Wert überhaupt neu ausgelesen wird? Hast du die Return-Werte überprüft?
-
TCHAR buffer[255]; ZeroMemory(buffer,255); GetWindowText(hEDIT, buffer, 255);Wegen des ZeroMemory()-Aufrufs wäre der buffer leer wenn ncihts ausgelesen würde

-
Und wo rufst du den Code auf? Dumme Frage, aber bist du dir sicher, dass zu diesem Zeitpunkt auch wirklich schon was anderes in dem Edit-Control drin steht?

-
Kla rbin ich sicher. Denn der Inhalt des EDITS wird beim klcik auf nen button in ner messagebox ausgegeben. Und das ganze ist in ner gui. also gaaaanz sicher dass der inhalt des edits sich ändert bevor ich den button klicke!

-
Zeig mal den relevanten Code...
Welchen Returnwert liefert GetWindowText?
Was sagt GetLastError?
@flenders:
Ich denke es spielt keine Rolle, wo und wann er GetWindowText aufruft?
-
Aber wenn der Buffer vorher geleert wird und nachher etwas drinsteht scheint der Aufruf schon erfolgreich gewesen zu sein

BTW: der ZeroMemory-Aufruf macht mit UNICODE nicht mehr das was du willst, wenn dann so:ZeroMemory(buffer,255*sizeof(TCHAR));
-
Ich ahbe UNICODE NICHT definiert!
Thy.
-
Ist es schlecht wenn man UNICODE nciht definiert??
Ist es dann so dassdsas Programm im ausland nicht geht oder wie??Thx.
-
Tolga schrieb:
Ist es schlecht wenn man UNICODE nciht definiert??
Ist es dann so dassdsas Programm im ausland nicht geht oder wie??Thx.
Nein. Aber dann kannst du nur ASCII-Zeichen in deinem Programm verwenden.
Aber in vielen anderen Sprachen gibt es auch andere Zeichen.
-
Meine Kritik war auch nicht, dass du nicht mit Unicode kompilierst (das wusste ich ja auch gar nicht), sondern, dass du, wenn du schon TCHAR und nicht CHAR bzw. char verwendest, dann auch entsprechend berücksichtigen musst, dass ein TCHAR ggf. auch 2 Bytes groß sein kann (im Falle von Unicode)
