Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#27

AW: Problem mit Multiplikation

  Alt 13. Aug 2013, 15:48
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:
Code:
i: 1, j: -1
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (13. Aug 2013 um 15:53 Uhr)
  Mit Zitat antworten Zitat