PAnsiChar(Edit1.Text) gibt keinen Zeiger auf den Inhalt des Edits, sondern einen Zeiger auf eine temporäre und von Delphi verwaltete Kopie des Inhalts.
Tja und dieser temporäre String kann schnell mal überschrieben, gelöscht oder für was Anderes wiederverrwendet werden
eine Lösung wäre jetzt, daß du selber eine Kopie anlegst.
Delphi-Quellcode:
var
x: PAnsiChar;
S: AnsiString;
begin
S := Edit1.Text;
x := PAnsiChar(S);
und bitte ließ nochmal bei
BinToHex genau nach,
denn Y wurde nicht definiert
soll heißen, daß DU selber für genug Speicher darin sorgen mußt.