Das Problem ist CompareMem auf einen shortstring.
Beim Zuweisen eines shortstrings wird nicht der "Rest" geleert.
Beispiel:
Delphi-Quellcode:
var
s: string[16];
i: Integer;
begin
s := 'XXX 14806001';
s := 'XXX 148060';
for i := 1 to 16 do
Write(s[i]);
end.
Habe ich mir schon fast gedacht, aber warum wird mir im Debugger wenn ich die Variable Auswerte der Wert nicht angezeigt? Also muss ich jeden Short String, wo ich einen Kürzen String reinpacke vorher Fillcharn?