AGB  ·  Datenschutz  ·  Impressum  







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

TObjectList

Ein Thema von twityzuz · begonnen am 26. Mai 2011 · letzter Beitrag vom 26. Mai 2011
Antwort Antwort
Seite 1 von 3  1 23      
twityzuz

Registriert seit: 3. Mai 2011
25 Beiträge
 
Delphi 7 Personal
 
#1

TObjectList

  Alt 26. Mai 2011, 17:10
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TObjectList

  Alt 26. Mai 2011, 17:17
Warum versuchst du es nicht einfach?
Delphi-Quellcode:
uses
  Generics.Collections;

var
  MyList: TObjectList<TMyObjectType>;
begin
  MyList := TObjectList<TMyObjectType>.Create(True);
  try
    MyList.Add(TMyObjectType.Create(...));
    ...
    MyList[0]...
  finally
    FreeAndNil(MyList);
  end;
Wobei TMyObjectType die Klasse ist, deren Objekte du reinpacken willst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: TObjectList

  Alt 26. Mai 2011, 17:19
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
twityzuz

Registriert seit: 3. Mai 2011
25 Beiträge
 
Delphi 7 Personal
 
#4

AW: TObjectList

  Alt 26. Mai 2011, 17:22
Erstmal danke für eure hilfe
Also ich habe Delphi 7. Aber wie deklariere ich oder erstelle jetzt eine ObjectList?? *verzweifle*

LG
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TObjectList

  Alt 26. Mai 2011, 17:26
Genauso, nur ohne die Typangabe in spitzen Klammern dahinter.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TObjectList

  Alt 26. Mai 2011, 17:27
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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

AW: TObjectList

  Alt 26. Mai 2011, 17:29
Genauso, nur ohne die Typangabe in spitzen Klammern dahinter.
Und Generics gabs "damals" leider auch noch nicht
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: TObjectList

  Alt 26. Mai 2011, 17:30
Unter Delphi 7 gibt es bereits TObjectList (Unit Contnrs).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
twityzuz

Registriert seit: 3. Mai 2011
25 Beiträge
 
Delphi 7 Personal
 
#9

AW: TObjectList

  Alt 26. Mai 2011, 17:32
Genauso, nur ohne die Typangabe in spitzen Klammern dahinter.
Aber was bringt mir
Delphi-Quellcode:
uses
Generics.Collection;


Wenn ich es am Anfang der Unit einfach einfüge, meint Delphi, dass ich einen Programmierfehler mache...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: TObjectList

  Alt 26. Mai 2011, 17:34
Nimm die Unit Contnrs und einfach TObjectList.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz