Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
20. Okt 2013
Dann macht es für dich Sinn, aber für ihn nicht, da er sie mit XE2 hat...
Aber nicht bei Pointerzugriffen wie in meinem Beispiel mit TList<PTest>, da geht das durchaus.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
20. Okt 2013
@Bjoerk:
Ohne Generics macht das ganze nicht so viel Sinn. ;-)
Und Clear kannst du auch problemlos in einen Record einbauen...
Ein komplettes Beispiel mit einigen der Möglichkeiten findest du hier.
Ein Vorteil ist, dass du dich nicht selbst um die Pointer kümmern musst. Du hast einfach immer eine Referenz, also einen impliziten Pointer, und fertig. Für das Zuweisen der Werte kannst du,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
18. Okt 2013
Habe ich ja auch geschrieben. Aber die paar Zeilen für die Implementierung von Assign sollten nicht stören.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
18. Okt 2013
Theoretisch ja, aber dann kann man den Record in der Liste nur durch Neuzuweisung bearbeiten, nicht ein einzelnes Feld.
Deshalb wären ja Klassen auch viel sinnvoller. Nur das Kopieren ist bei Klassen nicht so einfach durch Zuweisung möglich.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
18. Okt 2013
Ich frage mich immer wieder warum man sich das Leben mit Records so schwer machen kann. Eine TObjectList<TTest> ist doch sehr viel einfacher und bequemer als die ganze Pointer- und Speicherspielerei...
Aber wie dem auch sei... zur Frage:
procedure TMyList.CopyToNewItem(Index: Integer; APTest: PTest);
begin
APTest^ := Self.Items^;
end;// EDIT:
Beispiel:type
PTest = ^TTest;