Du solltest dir die Pascal Naming-Conventions angewöhnen:
PZeiger = ^TInfo;
var first : Tzeiger; //Zeiger auf das erste Element im STack
Eigentlich sollte er hier schon beim var streiken.
FFirst: PInfo;
Delphi-Quellcode:
constructor Tstack.create();
begin
inherited;
new(stack.first);
first:=nil;
end;
Erstens greifst du hier auf eine Variable Stack zu, ganz pöse und auch unsinnig. Zweitens weist du FFirst gleich danach nil zu, also spar dir doch das Erstellen.
Ergo: Bis jetzt kannst du den Konstruktor einfach weglassen.
else result:='Kein Element im Stack';
Exceptions
stack := TStack.Create;
Den Rest kann ich mir leider nicht mehr anschauen, Simpsons rufen
.