Es macht wenig Sinn, eine eigene Stack-Klasse zu programmieren, wenn es das schon gibt.
(==>
das Quadratische Rad neu erfinden)
In der
Unit contnrs gibt es die Klassen:
TStack, TQueue, TObjectQueue, TObjectStack, ...
Diese Klassen sind fehlerfrei und ein guter Ausgangspunkt.