Dann verlässt du dich aber auf die Implementierung vom TryStrToInt, welcher auch bei einem Fehler 'ne halbe Zahl im Result haben könnte.
Das Result solcher Funktionen besagt grundsätzlich erstmal nur, daß bei TRUE der Rückgabewert "gültig" ist.
Ob bei FALSE der Wert unverändert oder sonstwas enthält, ist nicht definiert.
Zitat:
Delphi-Quellcode:
id := -1;
TryStrToInt(..., id);
Also doch StrToIntDef
FItems.Last.ItemID := StrToIntDef(..., -1);