Hallo,
so wie ich das sehe, ist das Problem hier:
procedure TBrick.onCollision(Edge : Integer; Ball : TBall);
.
Wenn "Ball" geändert werden soll, dann muss es lauten:
procedure TBrick.onCollision(Edge : Integer;var Ball : TBall);
.
Ansonsten wird Ball nicht verändert (ohne var kein "call by reference").
Hier mal ein Beispiel:
Delphi-Quellcode:
procedure var_minus(var i: Integer);
begin
i := i * -1;
end;
procedure minus(i: Integer);
begin
i := i * -1;
end;
procedure TForm3.Button1Click(Sender: TObject);
var
i: Integer;
j: Integer;
begin
i := 1;
j := 1;
minus(i);
var_minus(j);
Label1.Caption := Format('i: %d, j: %d', [i, j]);
end;
Ergibt:
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<