Hi monta,
wenn ich das richtig sehe, überprüfst Du an keiner Stelle die als Index benutzten Variablen x2 und y2, wodurch in der Repeat-Schleife der zulässige Bereich (bei Dir 0..124) verlassen werden kann. Beim Schreibzugriff auf das Feld tempWator[] dürft dann der Fehler auftreten. Um meine Theorie zu überprüfen, kannst Du ja mal in den Compileroptionen die Bereichsüberprüfung einschalten. Wenn Du dann das Programm in der
IDE laufen läßt, sollte Dir die fehlerhafte Zeile angezeigt werden.
Noch was: Du greifst
nach den beiden For-Schleifen auf die Schleifenvariablen x und y zu. Laut Delphi-Hilfe ist der Inhalt einer Schleifenvariable außerhalb der Schleife undefiniert.