oha.... dies wird so krachen.....
vermutlich wird der Stack, auf dem FieldID zum Zeitpunkt von Push gelegen hat, zum Zeitpunkt von Pop nicht mehr existieren...
ein Pointer in's nichts also....
deshalb besser so:
Delphi-Quellcode:
var
FieldID : PPoint;
q : TQueue;
begin
// ...
new(FieldID);
FieldID^.X:=...
FieldID^.Y:=...
q.push(FieldID);
// ... später ...
FieldID:=q.pop();
... FieldID^.X ...
dispose(FieldID);
// ...
end;