Delphi 4: Parser Bugs?

Moin!

Manchmal motzt bei mir der Parser ueber die Syntax. Wenn ich z.B. schreibe:

(Zeilennummer Code)

131 type
133 gains = array[1…2] of pi16;
136 begin
[…]
156 gains[1] := 1;

motzt der Parser rum:
[Error] neu.pas(156): ‚(‘ expected but ‚[‘ found

Oder letztens mit der random-Funktion dasselbe:
[…]
201 begin
202 randomize;
203 i := random(10000);
[…]

[Error] blabla.pas (203): ‚.‘ expected but ‚(‘ found

WARUM?

Wenn man bei der random-Funktion stattdessen schreibt

var
i, j : integer;
begin
randomize;
j := 10000;
i := random(j);

funktioniert das, und wenn ich das wieder zurueckaendere auf
i := random(10000);
dann funktioniert das aufeinmal auch.

Was kann ich tun?
Ich habe hier uebrigens eine Delphi 4 Version in englisch.

Schuess

Li