Entweder ist dein Beispiel schlecht konstruiert oder du siehst den Wald vor lauter Bäumen nicht.
Warum der Umweg über den ValuePtr? Sag doch einfach
Delphi-Quellcode:
type
TVarIntX = record
Value: Integer;
Objekt: TObject;
end;
und in den Berechnungen nimmst du gleich
v.Value
anstatt
TestInt
.