.. im Prinzip kann man ja einen Timer bzw. dessen Funktion wie eine Schleife
sehen.
Und dann wird dieser Code immer wieder ausgeführt.
Delphi-Quellcode:
procedure tform1.timer1timer(sender:tobject);
begin
inc(blaueviecher.viecheranzahl);
setlength(blaueviecher.viecher,blaueviecher.viecheranzahl+1); //der array ist 1 größer wie die benötigte anzahl
blaueviecher.viecher[blaueviecher.viecheranzahl]:=blaueviecher.viecher[blaueviecher.viecheranzahl-1] // hier sieht es so aus wie das letzte
mutiere(blaueviecher.viecher[blaueviecher.viecheranzahl]) // hier wird es ein inviduum, da es mutiert
end
hm, wenn ich es mir recht überlege sollte es doch funktionieren:
Wenn mutiere etwas an den Daten des letzten Arrayfeldes ändert hat beim nächsten Durchlauf
das zweitletzte Element die gleichen Daten.
Die neue letzte wird dann wieder mutiert.
Kannst Du mal die Prozedur mutiere hier anfügen,
kann es sein das die Daten nicht richtig in das Array zurückgeschrieben werden.
Denn ein dyn.Array ist nur ein Pointer wenn Du es als Parameter an eine Prozedur übergibst.
[edit], das kann es eigentlich auch nicht sein, denn es wird ja ein tviech übergeben.
Bin mit meinem Latein am Ende.
[edit2] hast Du den Paramter in der mutiere Prozedur als var Parameter deklariert?
Grüße
Klaus