私はこの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.
しかし、コンパイラはtlac.OnClick := OnTlacitkoClick;
式に次のエラーを言います。
unit2.pas(63,32)エラー:「OnTlacitkoClick」の呼び出しに指定されたパラメーターの数が間違っています
私は検索しましたが、これはDelphiでの合法的な表現だと思います。このプロシージャを呼び出さずに、単にイベントハンドラOnTlacitkoClick
として登録したい。tlac.OnClick
コードに何か問題がありますか、それともLazarus / FreePascalで別の方法で行う必要がありますか?