var Queue1, Queue2: TQueue; List1:TList; begin Queue1 := TQueue.Create; Queue1.Enqueue(1); Queue1.Enqueue(2); Writeln(Queue1.Dequeue); // 1 Writeln(Queue1.Dequeue); // 2 Queue1.free; // TQueue can be initialized using a class derivative from TEnumerable, like TList List1 := TList.Create; List1.Add(3); Queue2:= TQueue.Create(List1); Writeln(Queue2.Dequeue); // 3 List1.free; Queue2.free; // Inline TQueue can be created in routine scope // only for version after 10.3 Tokyo var Queue3 := TQueue.Create; Queue3.free; end;