Zeiger auf ein Edit-Feld
-
Hallo,
ich hab da mal eine Frage zu Zeigern auf Eingabefelder.
Geht das nicht?Wenn ich folgendes mache:
char *p_passwort = NULL; p_passwort = Main1->Edit_Passwordfeld->Text.c_str();
dann sehe ich im Debugger für "Main1->Edit_Passwordfeld->Text" den korrekten Text, den ich auch eingegeben habe.
Unter "p_passwort" aber ist die Eingabe immer abgeschnitten, gefolgt von vier weiteren Zeichen.
Zum Beispiel Eingabe "abcde" und unter p_passwort zeigt mir der Debugger "abcd\x14" an.Wenn ich die Eingabe zuerst einem AnsiString oder einem Char zuweise, dann klappt es.
Also mitAnsiString passwort; char *p_passwort = NULL; passwort = Main1->Edit_Passwordfeld->Text; p_passwort = passwort.c_str();
zeigt der Debugger mir auch unter p_passwort die Eingabe korrekt an.
Ebenso mitchar passwort[100]; char *p_passwort = NULL; strcpy(passwort, Main1->Edit_Passwordfeld->Text.c_str()); p_passwort = passwort;
zeigt mir der Debugger unter p_passwort die Eingabe richtig an.
Mache ich bei der Zuweisung des Zeigers auf das Eingabefeld einen Fehler oder geht das gar nicht?
-
-
Hallo
Und immer genau überlegen ob du char* bzw. char[] wirklich brauchst. Immer (Ansi-)String verwenden wenn möglich.
bis bald
akari