Fazit: Dein VarIsEmptyOrNull ist dran Schuld
Huch, das ist ja auch eine Funktion von mir. War mir gar nicht mehr bewußt. Die sieht so aus:
Delphi-Quellcode:
function VarIsEmptyOrNull(const Value: Variant): Boolean;
begin
Result := VarIsClear(Value) or VarIsEmpty(Value) or VarIsNull(Value) or
(VarCompareValue(Value, Unassigned) = vrEqual);
if not Result and VarIsStr(Value) then
Result := Value = '';
end;
Da wird doch nichts nach Int gewandelt? Wie kann die also Schuld daran sein? Oder übersehe ich was? Nur so aus Interesse, denn Du hast natürlich recht: Die Funktion brauche ich gar nicht mehr...