Hallo Flo,
das liegt daran, dass du in dem anderen Teil der if Anweisung auch zweimla pop aufrufst. Pop löscht ja das obere Element vom Stack. Ich hatte deshalb damals neben pop und popObjects ja auch noch die Funktionen:
Delphi-Quellcode:
function ShowTop: String;
function ShowTopObject(var obj: TObject): String;
implementiert, die wie Pop arbeiten, aber ohne das Element zu löschen! Damit kannst du das obere Element prüfen.