![]() |
Wie benutzt man TJclStrQueue
In den JCJs gibt es die TJclStrQueue . Das scheint eine FiFo Liste zu sein - etwas was ich gerade brauche.
Die Deklaration sieht so aus:
Delphi-Quellcode:
gibt es eine einfache Möglichkeit dieses zu benutzen ohne gleich eine neue Klasse zu erzeugen?
TJclStrQueue = class(TJclAbstractContainer, IJclStrQueue)
private FCapacity: Integer; FElements: TDynStringArray; FHead: Integer; FTail: Integer; protected { IJclStrQueue } function Contains(const AString: string): Boolean; function Dequeue: string; function Empty: Boolean; procedure Enqueue(const AString: string); function Size: Integer; public constructor Create(ACapacity: Integer = DefaultContainerCapacity); end; Grüsse wo |
Re: Wie benutzt man TJclStrQueue
Hallo WoGe,
das erstellen einer Instanz ist nötig, aber sicher nicht das anlegen einer neuen Klasse. MfG Frederic |
Re: Wie benutzt man TJclStrQueue
Hi Frederic
Zitat:
(Weil Außerhalb der deklarierenden Unit) Der einzige mir bekannte Weg wäre eine neue Klasse die diese Deklarationen in den Public Teil verlagern. Viele Grüße wo |
Re: Wie benutzt man TJclStrQueue
Nur so als Tip: die Interfaces sind nicht nur da, weil sie gut aussehen :angel2:
|
Re: Wie benutzt man TJclStrQueue
Zitat:
![]() Meine Lösung sieht nun so aus:
Delphi-Quellcode:
Das funktioniert - so wie ich das erwartet hatte.
...
public { Public-Deklarationen } myQueue : IJclStrQueue; end; ... procedure TForm7.Button1Click(Sender: TObject); begin myQueue := TJclStrQueue.create; // Default Size = 16 // myQueue := TJclStrQueue.create(16); end; procedure TForm7.Button2Click(Sender: TObject); begin myQueue.Enqueue('TestNo1'); myQueue.Enqueue('TestNo2'); myQueue.Enqueue('TestNo3'); end; procedure TForm7.Button3Click(Sender: TObject); begin if not myQueue.Empty then memo1.Lines.Add(myQueue.Dequeue); end; procedure TForm7.Button4Click(Sender: TObject); begin // FreeAndNil(myQueue); // Unnötig da Interface ? end; ... Vielen Dank nochmal Gruß wo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz