![]() |
TObjectList
Hi Leute!
Ich programmiere gerade ein Spiel und suche eine Komponente, wo ich Objekte rein"packen" kann und die dann über einen ItemIndex (oder so ähnlich). Wie z.B. bei der ImageList: -> Ich lade ein Bild rein und kann es dann über einen Index aufrufen Könnte man vielleicht eine ObjectList nehmen und wenn ja, kann mir jemand erklären, wie man das macht? LG & DiV twityzuz |
AW: TObjectList
Warum versuchst du es nicht einfach? :roll:
Delphi-Quellcode:
Wobei TMyObjectType die Klasse ist, deren Objekte du reinpacken willst.
uses
Generics.Collections; var MyList: TObjectList<TMyObjectType>; begin MyList := TObjectList<TMyObjectType>.Create(True); try MyList.Add(TMyObjectType.Create(...)); ... MyList[0]... finally FreeAndNil(MyList); end; |
AW: TObjectList
Du hast schon die richtige Komponent gefunden :) sinnvoll wäre es, wenn du dir eine Demo-Anwendung schreibst, um zu testen, wie es funktioniert. Wir können dich auch nur auf die Hilfe verweisen, da es nicht nur zwei Methoden gibt :) Besonders an TObjectList ist aber, dass diese als Besitzer von den hinzugefügten Objekten fungieren kann, d.h. wenn du z.B. ein Remove machst, dann wird das entfernte Objekt automatisch freigegeben, oder wird die ObjectList freigegeben werden alle darin enthaltenen Objekte auch freigegeben. Dieses "Owner"-Verhalten kannst du über den Konstruktor steuern.
-- Edit: Der Vorschlag von jaenicke sollte dann zum Einsatz kommen, wenn du eine typsichere Programmierung haben willst, denn sonst musst du unter Umständen sehr oft casten. Die generischen Listen sind halt erst ab Delphi 2009 verfügbar. |
AW: TObjectList
Erstmal danke für eure hilfe:D
Also ich habe Delphi 7. Aber wie deklariere ich oder erstelle jetzt eine ObjectList?? *verzweifle* LG |
AW: TObjectList
Genauso, nur ohne die Typangabe in spitzen Klammern dahinter.
|
AW: TObjectList
Ich weiß nicht, ob es im D7 schon eine TObjectList gab.
Du kannst sonst genau so gut eine TList nutzen. Der einzige Unterschied ist dass die Objekte nicht automatisch aufgelöst werden können, wenn sie aus der Liste entfernt werden. Man muss dann die entfernten Objekte ggf. explizit mit MyItemObject.Free auflösen. |
AW: TObjectList
Zitat:
|
AW: TObjectList
Unter Delphi 7 gibt es bereits TObjectList (Unit Contnrs).
|
AW: TObjectList
Zitat:
Delphi-Quellcode:
:?::?::?:
uses
Generics.Collection; Wenn ich es am Anfang der Unit einfach einfüge, meint Delphi, dass ich einen Programmierfehler mache... |
AW: TObjectList
Nimm die Unit Contnrs und einfach TObjectList.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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