Einzelnen Beitrag anzeigen

basti1994

Registriert seit: 21. Apr 2012
3 Beiträge
 
#1

"Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen" Fehler

  Alt 21. Apr 2012, 14:37
Hallo,

ich habe ein programm erstellt, welches ein dynamisches array von einer Unit an die andere übermitteln soll

dazu hab ich ich in der aufrufenden Unit dass array so Deklariert:

Delphi-Quellcode:
type
TRSnakeElements = record
                 x:integer;
                 y:integer;
  end;



    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Elements : array of TRSnakeElements;
und rufe es dann mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Snake(Elements);
showmessage('haha' + inttostr(Elements[0].x));
end;
auf.

Die andere Unit schaut so aus:
Delphi-Quellcode:
unit USnake;

interface
type

TRSnakeElements = record
                 x:integer;
                 y:integer;
  end;
  TSnakeElements = array of TRSnakeElements;

 procedure Snake(var Elements: TSnakeElements);

implementation
procedure Snake(var Elements: TSnakeElements);
begin
SetLength(Elements, 2);
Elements[0].x:=3;
Elements[0].y:=4;
end;

end.
bekomme aber leider bei
Snake(Elements); die Fehlermeldung das die Typen nicht die gleichen sind, sind sie doch aber oder?

Mit freundlichen Grüßen Basti
  Mit Zitat antworten Zitat