![]() |
Re: Verkette Liste mit unbekannten Objekten?
Zitat:
kannst du mir sagen wie? :oops: also:
Delphi-Quellcode:
geht nicht :oops:
irgendwas = ^record;
|
Re: Verkette Liste mit unbekannten Objekten?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Delphi-Quellcode:
unit TestStringTypes;
interface {$DEFINE TYPED_LIST_TEMPLATE} type _LIST_DATA_TYPE_ = string; {$INCLUDE TypedLinkedList_template.pas} type TStringList = _TYPED_LIST_; type TStringNode = _TYPED_LIST_NODE_; implementation {$INCLUDE TypedLinkedList_template.pas} end.
Delphi-Quellcode:
unit TestIntegerTypes;
interface {$DEFINE TYPED_LIST_TEMPLATE} type _LIST_DATA_TYPE_ = Integer; {$INCLUDE TypedLinkedList_template.pas} type TIntegerList = _TYPED_LIST_; type TIntegerNode = _TYPED_LIST_NODE_; implementation {$INCLUDE TypedLinkedList_template.pas} end.
Delphi-Quellcode:
Die Inspiriration für diesen Direktivenkrieg kam von maximov und seiner Template Version der dpCollection.
program TestApplication;
{$APPTYPE CONSOLE} uses TestStringTypes in 'TestStringTypes.pas', TestIntegerTypes in 'TestIntegerTypes.pas'; var IntegerNode : TIntegerNode; StringNode : TStringNode; IntegerList : TIntegerList; StringList : TStringList; i : Integer; begin IntegerList := TIntegerList.Create(); StringList := TStringList.Create(); for i := 1 to 10 do IntegerList.AddData(i); // Zum Testen entfernen wird der vorletzte Eintrag entfernt with IntegerList do Delete(Previous(Tail)); StringList.AddData('a'); StringList.AddData('b'); StringList.AddData('c'); StringList.AddData('d'); StringList.AddData('e'); // Zum Testen entfernen wird der zweite Eintrag entfernt with StringList do Delete(Next(Head)); // Ausgabe for IntegerNode in IntegerList do Writeln(IntegerNode.Data); for StringNode in StringList do Writeln(StringNode.Data); Sleep(3000); end. Das dumme daran ist, dass ich zur Compile zeit nicht unterscheiden kann, ob Data ein Klassenobjekt oder ein primitives Objekt enthält um daraufhin ein Säubern im Destructor auszulösen. :? Deshalb habe ich vorerst das Zerstören von Data jedes Knotens rausgenommen. Vielleicht fällt mir morgen etwas dazu ein. Nur primitiver Typen wären schon sehr doof. Und Extra units á la TypedList_of_ClassTypes und TypedList_of_primitiveTypes wären auch doof. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 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