Wie würdet ihr sowas machen?
Ich würde den Kram als Klassen deklarieren (TDot, TSlider und TSpinner haben eine gemeinsame Basisklasse) und dann abfragen:
if myObj.HitObject is TSpinner then ...
Oder gleich den Codeschnipsel in die Klassen verlagern und sort aufrufen.
Falls es unbedingt records sein müssen: Du kannst als erstes Feld ein "Typfeld" implementieren und dort immer den richtigen Typ reinschreiben. Beim auslesen kannst du dann den pointer weitersetzrn, das Feld auslesen und entsprechend reagieren.