У меня есть эта программа Lazarus:
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, ComCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
procedure OnTlacitkoClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
tlac:TButton;
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
implementation
{ TForm2 }
procedure TForm2.OnTlacitkoClick(Sender: TObject);
begin
showmessage('helloworld');
end;
procedure TForm2.FormCreate(Sender: TObject);
var i,j:integer;
begin
tlac:=TButton.Create(Form2);
tlac.OnClick:=OnTlacitkoClick;
tlac.Parent:=Form2;
tlac.Left:=100;
tlac.Top:=100;
end;
initialization
{$I unit2.lrs}
end.
но компилятор говорит: unit2.pas (63,32) Ошибка: неверное количество параметров, указанных для вызова «OnTlacitkoClick» в tlac.OnClick: = OnTlacitkoClick; выражение. Я искал и думаю, что это законное выражение в Delphi. Я хочу просто зарегистрировать OnTlacitkoClick как событие tlac.OnClick, чтобы не вызывать эту процедуру. Что-то не так с кодом или я должен сделать это по-другому в Lazarus / Freepascal?
Спасибо.