Text von Edit Control ermitteln.
-
Ich versuche seit einiger Zeit Text von mehreren Edit Controls einzulesen, dazu benutze ich folgenden Code:
std::string buffer, buffer1, buffer2; GetWindowText(control1.edita1, &buffer[0], MAX_PATH); GetWindowText(control1.editb1, &buffer1[0], MAX_PATH); GetWindowText(control1.editc1, &buffer2[0], MAX_PATH);Komischerweise haben alle buffer am Ende, den Wert des zuletzt aufgerufenen GetWindowText Edit Controls.
-
Das Problem hat sich schon gelöst, das Problem bestand in der Speicherung des Zeigers.
-
Helpmeifyoucan schrieb:
Ich versuche seit einiger Zeit Text von mehreren Edit Controls einzulesen, dazu benutze ich folgenden Code:
std::string buffer, buffer1, buffer2; GetWindowText(control1.edita1, &buffer[0], MAX_PATH); GetWindowText(control1.editb1, &buffer1[0], MAX_PATH); GetWindowText(control1.editc1, &buffer2[0], MAX_PATH);Komischerweise haben alle buffer am Ende, den Wert des zuletzt aufgerufenen GetWindowText Edit Controls.
Das kannst du auf keinen Fall so machen
. Damit untergräbst du die (automatische) Speicher-
allokierung der Klasse std::string. Das wird n Pufferüberlauf geben. (IMHO
)