Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#15

AW: Array Zeile löschen

  Alt 7. Mär 2012, 16:11
Hast du schonmal mit den Generics gearbeitet?

GegnerListe[0] liefert dort den Record, genauer eine Kopie des Records und keinen Zeiger.

Delphi-Quellcode:
type
  TGegnerRecord = record
   Name:AnsiString;
   PosX:Integer;
   PosY:Integer;
   {...}
  end;

var
  Gegner: TGegnerRecord;
  GegnerListe: TList<TGegnerRecord>;

GegnerListe := TList<TGegnerRecord>.Create;


Gegner.Name := 'ich';
Gegner.PosX := 123;
...
GegnerListe.Add(Gegner);


Label1.Caption := GegnerListe[0].Name:


GegnerListe[0].PosX := 456; // geht nicht, auch wenn der Compiler, in älteren Delphi-Versionen, keine Warnung/Fehlermeldung anzeigt


GegnerListe.Free;
Vorteil ist zwar, daß hier delphi die komplette Speicherverwaltung übernimmt, innerhalb der Liste und auch für die Einzelrecords.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat