Hi,
irgendwie ist deine Struktur etwas "durcheinander"...
Du erzeugt ein Objekt BC:= tBaseClass.Create.
Dann fügst du dieses mit tFirstList.Add der Liste hinzu.
Dort in Add fügst du BC in die Liste selbst ein (inherited...), holst dir den Index dieses Elements, castest das Element (Typ=tBaseClass) nach tFirstClass und willst das Element (immer noch BC) in die SeconsdList der tFirstclass einfügen. Also das Element in die Secondlist seiner selbst einfügen?
Nur so am Rand: Die Ursache für die
AV an sich ist der TypeCast von tBaseClass nach tFirstclass.