Forum: Algorithmen, Datenstrukturen und Klassendesign
by Breager,
7. Mär 2012
Es ging mir ja nur darum, dass es bei der von mir vorgeschlagenen Variante möglich ist, einzelne Werte des Records direkt zu ändern. Das New und Dispose brauche ich doch nur beim Hinzufügen (Add) oder Entfernen (Delete) von Items bzw. vor dem Freigeben (Free) der Liste, nicht jedoch beim Sortieren der Liste.
Ich glaube, im Endeffekt hat jede mögliche/hier genannte Lösung ihre Vor- und...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Breager,
7. Mär 2012
Bei Generics muss ich leider aus Kompatibilitätsgründen passen.
Bei der von mir vorgeschlagenen Variante kann man jedoch, wie schon oben geschrieben, einzelne Werte ohne Probleme direkt ändern:
procedure TForm1.Button3Click(Sender: TObject);
begin
TGegnerRecord(Gegnerliste^).Name:='Neuer Gegner';
TGegnerRecord(GegnerListe^).PosX:=100;
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Breager,
6. Mär 2012
Was spricht gegen folgendes?
begin
...
TGegnerRecord(Gegnerliste^).Name:='Neuer Gegner';
TGegnerRecord(Gegnerliste^).PosX:=10;
...
end;
Die Klasse muss man auch wieder sauber freigeben. Habe mal im Netz ein Beispiel (als Empfehlung) gefunden, mit einem wunderschönen Speicherleck. Leider weiss ich nicht mehr wo.