Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#14

AW: XE 7 Error Meldung E2158 System-Unit veraltet oder beschädigt @Clr fehlt

  Alt 5. Mär 2015, 12:51
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat