Also wie Klaus schon sagte
eigentlich müssten immer schon alle Elemente identisch gewesen sein weil du mit
blaueviecher.viecher[blaueviecher.viecheranzahl]:=blaueviecher.viecher[blaueviecher.viecheranzahl-1];
immer nur die Pointer kopierst
Wenn du bei einem eine property änderst, änderst du sie in allen.
Warum das mit nem Statischen array klappt versteh ich nicht.
Richtigerweise müsstest du dir für TViech eine assign methode schreiben.
Dann per
Delphi-Quellcode:
blaueviecher.viecher[blaueviecher.viecheranzahl]:= TViech.Create;
blaueviecher.viecher[blaueviecher.viecheranzahl].Assign(blaueviecher.viecher[blaueviecher.viecheranzahl-1]);
das TViech "kopieren".
Dann hast du eine individuelle isntanz die du ändern kannst ohne das sich das auf die anderen auswirkt.
GreeZ HenKst