我正在尝试在Lazarus中实现MVC模式,我已经创建了模型和视图(直接从设计师创建)。现在,我正在编写“控制器”,但是当我尝试重新分配自动生成的方法“Button.OnClick”时,我遇到了编译错误:
controller.pas(31,44) Error: Wrong number of parameters specified for call to "QuitBtn"
控制器的构造函数:
constructor TController.Create(AModel : TGame ; AView : TFArena);
begin
Model := AModel;
FView := AView;
{Compilation Error}
FView.Quit.OnClick := TController.QuitBtn;
end;
并且步骤如下:
procedure TController.QuitBtn(Sender : TObject);
begin
ShowMessage('MVC READY');
end;
这个方法是从Lazarus自动生成的。
procedure TFArena.QuitClick(Sender: TObject);
begin
{Nothing because she's gonna be over assigned}
end;
因此,两者都使用相同的参数“Sender:TObject”。
谢谢阅读。