Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: TListView und auf Object zugreifen

  Alt 23. Dez 2009, 21:35
Jeder Eintrag in der ListView hat ein Feld Data. Dieser ist meine ich von Datentyp TObject. Jetzt gibt es zwei Wege:
Du fügst dein Eintrag so hinzu: ListView1.Items.AddObject(...,TObject(varInteger)) ; nur beim Zurückwandeln bin ich mir nicht mehr sicher: Integer(TObject(ListItems1.Items[0].Data)); könnte gehen. Data speichert das Objekt. Was auf jedenfall geht ist:
Delphi-Quellcode:
TMyClass = class
  myIntVar:Integer
end;

// Dann sieht das Hinzufügen so aus:
var
  myVar:TMyVar;
begin
  myVar:=TMyVar.Create;
  myVar.myIntVar:=20;
  ListView1.Items.AddObject(...,myVar);
// Der Zugriff erfolgt so:
  ShowMessage(IntTostr(TMyClass(ListView1.Items[0].Data)));
Wenn du mit AddObject ein Object Hinzufügt wird das in den Feld Data des Items gespeichert. Am einfachsten geht das mit Klassen.
Es geht aber auch ohne. Mit Pointern, da weiß ich im Moment jedoch nicht wie. Hier im Forum gab es mal dazu Beiträge / Thread. Ich suche sie mal...

Edit01: http://www.delphipraxis.net/internal...teger+listview etwas weiter unten siehst du das es so geht: Integer(ListView1.items[0].data); wenn du es ohne Klassen machen möchtest.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat