Das wird etwas speziell für diesen Thread, aber mal kurz:
TTruck ist keine Ableitung von TCar sondern direkt eine Ableitung von TObject.
Man kann den daher Track z.B. nicht an eine Methode übergeben, die ein Car verlangt.
Hier gab es mal etwas dazu (mein Beispiel in #13).
Man kann also bestehende Klassen nicht generisch erweitern, sondern "nur" neue generische Klassen erzeugen (mit meinen Worten).