Zitat:
Delphi-Quellcode:
x:=PAnsiChar(Edit1.Text);
showmessage(IntToStr(length(x)));
Label1.Caption:=String(x);
BinToHex(x,y,5);
showmessage(IntToStr(length(y)));
Label1.Caption:=Copy(String(y),1,length(Edit1.Text)*2);
so wirklich zufällig vielleicht nicht ... vermutlich würde es dank der Code-Optimierung etwa so aussehn
Delphi-Quellcode:
temp := Edit1.GetText;
x := PAnsiChar(temp);
temp := String(x);
temp2 := IntToStr(length(temp));
showmessage(temp2);
temp2 := String(temp)
Label1.SetCaption(temp2);
BinToHex(x, y, 5);
temp := y;
temp2 := IntToStr(length(temp));
showmessage(temp2);
temp := String(y);
temp2 := Edit1.GetText;
temp3 := Copy(temp, 1, length(temp2) * 2);
Label1.SetCaption(temp3);
Wenn die Optimierung hier nicht zufällig einige "Temp"-Variablen mehrfach nutzen würde, dann hätte es womöglich geklappt ... also abgesehn von BinToHex+Y, weil in Y ja der Speicher noch fehlte.
und wenn man da jetzt das temp ab
x := PAnsiChar(temp);
verfolgt, dann wird man wohl schnell merken, daß dieses temp, auf welches X nun zeigt sich schnell wieder ändert.