![]() |
TObjectList-Template wiedermal
Hallo zusammen,
kann mir jemand ![]() Danke schon mal vorab. |
Re: TObjectList-Template wiedermal
Das ist ein Template (siehe auch: Links in dem Thread) damit kannst du erreichen, dass du eine TObjectList hast, die genau für dein spezifisches Objekt passt. Also im Grunde keine TObjectList sondern eine TAnythingList ;)
Das wird realisiert, indem die ganze Implementation in einer seperaten Unit steht, und dort dann eine _TList oder so deklariert wird, die genau für den Typ _TItem zugeschnitten ist. Dann kanst du das einfach so machen:
Delphi-Quellcode:
dann hast du also eine Liste die exakt auf deine Klasse passt und kannst dir die Typecasts sparen - verstanden ?
_TItem = TDeineCooleKlasse;
{include template} TDeineCooleListe = _TList (alles schematisch vereinfacht :zwinker: ) |
Re: TObjectList-Template wiedermal
Moin,
![]() Was genau verstehst du denn nicht? Wozu es gut ist? Wie man es verwendet? Was denn? :stupid: Greetz alcaeus |
Re: TObjectList-Template wiedermal
Zitat:
Ich fasse mal zusammen: 1. Ich definiere eine auf TObject basierende Klasse, eben das was ich in die Liste packen will. 2. referenziere ich mein Object so: _LIST_ITEM_ = TMyItemClass; 3. referenziere ich meine dazugehörige Liste von _LIST_; Das ganze natürlich mit den Defines und Includes vorneweg. So weit, so gut. Meine Fragen: 1. Wie siehts aus, wenn ich mehrere Listen mit ihrem jeweils anderen Object benötige? 2. Kann ich in meiner eigenen Liste neue Funktionalität ergänzen, ohne das Template zu ändern? 3. Kann ich eine auf dem Template basierende Klasse weiter beerben: - Eigene Liste mit weiteren Methoden erstellen und dann - diese beliebig instanziieren und jeweils unterschiedliche Objecte zuweisen? - Instanziierte Objekte ablegen? Das raff ich einfach nicht. Kann mich darüber jemand aufklären? :warn: |
Re: TObjectList-Template wiedermal
Ganz kurz, weil ich jetzt weg muss:
Zitat:
Zitat:
Zitat:
|
Re: TObjectList-Template wiedermal
So, soweit hab ich's jetzt gerafft :-D Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Jetzt hab ich allerdings noch eine Frage: Ich habe auf Basis des Template eine Klasse abgeleitet, von der ich nun weitere Klassen ableiten will (Mit erweiterten Objekten). Jetzt bekommen ich allerdings Probleme, wenn ich in der abgeleiteten Klasse den neuhinzugekommen Object-Feldern einen Wert zuweisen will: Undefinierter Bezeichner.
Delphi-Quellcode:
Wie muß ich ableiten, damit ich auf die erweiterten Felder zugreifen kann? Oder sollte ich mir ein eigenes Template schreiben, von dem aus ich dann ableite?
...
Items[Index].Name := Query.Fields.AsString[1]; ... Danke schon mal, Gruß Clemens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 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