Zitat:
//procedure ClearValues(Sender: TObject; var TotalEvap: array of real); -> wird im eigentlichen Code verwendet
Das ist der entscheidende Hinweis! In diesem Fall ist TotalEvap nämlich als var-Parameter definiert und nicht als globale Variable. Allerdings wird der Typ generisch angegeben und nicht als deklarierter Typ und dann kommt der Compiler nicht mehr klar. So sollte es gehen (und so sollte man es auch machen):
Delphi-Quellcode:
program Project10;
{$APPTYPE CONSOLE}
type
TRealArray = array of Real;
procedure ClearValues(Sender: TObject; var TotalEvap: TRealArray);
begin
SetLength(TotalEvap,0);
TotalEvap := nil;
end;
var
TotalEvap: TRealArray;
begin
ClearValues(nil, TotalEvap);
end.