Weil du mit dem Befehl die Funktion aufrufst und diese nunmal einen Parameter erwartet.
Alternativen sind:
Button1.Click;
oder
Button1Click(nil);
Sauberer ist aber folgende Variante:
Delphi-Quellcode:
procedure TForm1.MoveAtoC
begin // Methode des Formulars. Oben muss unter private ein "procedure MoveAtoC;" (ohne die ")
// Code
end;
procedure TForm1.Button1Click(Sender: TObject)
begin // Button Event ruft nur die Prozedur auf
MoveAtoC;
end;
procedure Blablabla
begin
MoveAtoC;
end;
Damit hast du den eigentlichen Zug (etwas von A nach C zu bewegen) in eine seperate Prozedur ausgelagert, und rufst diese dann auf