Code:
var
p: PChar;
i: integer;
begin
p := PChar(edit1.Text);
i := StrToInt(p);
end;
Klappt bei mir auch, warum sollet es auch nicht gehen, aber:
"4|" ist nunmal kein Zahlenwert -> deine Funktion liefert dir einen string und keinen Zahlenwert. Poste mal bitte den gesamten relevanten Code.