Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - statischer Array in Procedure


Senex - Do 31.08.06 11:56
Titel: statischer Array in Procedure
Ich möchte eine Klasse für ein Kniffelspiel schreiben.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
type
  TKniffelSpiel = class(TObject)
    {...}
    procedure Wuerfeln(Halten: array[1..5of Boolean);
    {...}
  end;


Mit dieser Prozedur möchte ich die Würfel neu würfeln, jedoch nur die Würfel, für die Halten[i] False ist.

Nun zeigt er mir jedoch folgenden Fehler an:
Zitat:

[Fehler] RegelnUnitKniffel.pas(53): E2029 'OF' erwartet, aber '[' gefunden


Woran liegt das? Kann man in Prozeduren keine statischen Arrays als Parameter nutzen?!


Ironwulf - Do 31.08.06 12:21

jop der bekommt die länge wie der array den du an die prozedure übergibst

wird kniffel nich mit 6 würfeln gespielt oder irr ich mich, is schon ne ewigkeit her als ich das das letzte mal gespielt hab


Kroko - Do 31.08.06 13:03

lagere mal den ArrayTyp aus


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
type
  TWuerfelArray = array[0..4of Boolean;

  TKniffelSpiel = class(TObject)
    {...}
    procedure Wuerfeln(const Halten: TWuerfelArray);
    {...}
  end;

PS1:
lasse die Indexe von 0..4 laufen, Delphi macht es überall so, dass schließt eine Fehlerquelle aus!
PS2: benutze const bei ProcParams, ist schneller, wenn nichts geändert wird!