Einzelnen Beitrag anzeigen

Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#1

Stack - erstes Element löschen

  Alt 7. Sep 2008, 12:48
Hallo liebe DP!

Ich sitz gerade wieder vor einem Problem mit meinem Stack. Ich möchte das letzte Element eines Stapel löschen... Ich habe mir dafür eine Variable Hilf angelegt, die auf den Anfang des Stapels zeigt, damit ich den nicht verliere. Ich möchte den Stapel mit einer Schleife durchlaufen und das letzte Element dann disposen. Das Blöde hier dran ist nur, dass meine While-Schleife einfach nie zu Ende geht. Sie rattert pausenlos durch, was eine CPU-Auslastung von 100 % zur Folge hat.

Delphi-Quellcode:
procedure letztesloeschen(AStapel:PStapel);
var
  Hilf,temp:PStapel;
begin
  Hilf:= AStapel;
  While AStapel <> nil do temp:= AStapel^.next;
  Dispose(temp);
  AStapel:= Hilf;
end;
Die Prozedur ist in einer anderen Unit nur für Stapelprozeduren. Der Stapel wird durch den Parameter übergeben. Der Stapel wird beim Formcreate auf nil gesetzt.

Ich hoffe ihr könnt mir helfen
MfG,
spox
  Mit Zitat antworten Zitat