AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spring Collections erweitern

Ein Thema von Rainer Wolff · begonnen am 19. Mär 2014 · letzter Beitrag vom 10. Apr 2014
 
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#1

Spring Collections erweitern

  Alt 19. Mär 2014, 09:08
Hallo,

ich versuche grade, meine Anwendung mit dem Spring-Framework und Spring Collections zu ergänzen.

Ich habe eine Klasse

Code:
TMyItem = class
  FLaenge: Double;
published
  property Laenge: Double read FLaenge write FLaenge;
end;
Diese möchte ich in eine TQueue<TMyItem> stecken. Dazu habe ich

Code:
TMyQueue = class(TQueue<TMyItem>)
public
  function Gesamtlaenge: Double; // iteriert über die Items und summiert auf
end;
...
MyQueue = TMyQueue.Create;
MyQueue.Enqueue(TMyItem.Create);
Gesamt:=MyQueue.Gesamtlaenge;
So weit so gut. Allerdings erhalte ich jetzt ein Speicherleck, da die einzelnen Items nicht automatisch freigegeben werden. Müsste ich also immer von Hand machen, will ich aber nicht.

Im Framework kann man ja auch über
Code:
TCollections.CreateQueue<TMyItem>(True);
eine Queue erstellen, die die enthaltenen Items automatisch freigibt. Das funktioniert ja auch. TCollections erzeugt mir allerdings nur eine TQueue, keine TMyQueue, die dann z.b. die Funktion Gesamtlaenge enthält.

Wie würdet ihr das am besten lösen? Doch von Hand im Destructor freigeben? TCollections vererben und um CreateMyQueue ergänzen? Class Helper Gesamtlaenge für die Klasse TQueue?

Scheint mir alles nicht so sauber. Aber da ich mich erst langsam herantaste, sehe ich noch keine gute Lösung.

Gruß Rainer
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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 by Thomas Breitkreuz