Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Variable verliert Wert nach der Zuweisung

  Alt 28. Sep 2007, 11:58
Ich habe hier ein mir unerklärliches Phänomen. Ich habe eine lokale WideString-Variable s1. Dieser weise ich einen Wert zu und lasse sie mir direkt in der nächsten Zeile ausgeben:
Delphi-Quellcode:
s1 := 'Test';
ShowMessage(hDlg, s1);
Das ganze findet in einer Dialogprozedur statt. Ist aber unerheblich, weil die Prozedur nicht verlassen wird zwischen den beiden Zeilen. Allerdings ist s1 leer. Im Debugger steht "nicht verfügbarer Wert" und die MessageBox ist leer. Optimierung habe ich schon ausgeschaltet.

Benutze ich SetString:
SetString(s1, PwIDEChar('Test'), 4); geht es.

Was ist da los?

Ich werde noch mal irre, jetzt geht es wieder nicht mehr.

So sieht es aus:
Delphi-Quellcode:
ShowMessage(hDlg, GetItemTextW(hDlg, ID_EDT_COMP_X));
Computer := GetItemTextW(hDlg, ID_EDT_COMP_X);
User := GetItemTextW(hDlg, ID_EDT_ACCOUNT_X);
In ShowMessage wird alles noch richtig angezeigt, also GetItemText funktioniert, aber wenn er bei User := ist, und ich halte die Maus über Computer, wird mir "nicht verfügbarer Wert" angezeigt (die Variable wird später noch benutzt).

Entwicklungsumgebung ist D6 Professional.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat