« ☆FormのShowDialog | トップページ | ■5000カウント »

☆イベントの割り当てと解除

[Delphi8 - Windowsフォームアプリケーション]
Delphi7以前やVCLアプリケーションでは、次のようにイベントの割り当てと解除を行いますが、Delphi8では「CLR イベントでは,読み取り/書き込みは許可されません。Include/Exclude 手続きを使用してください」というメッセージが表示されてエラーになります。

 Button1.OnClick := Button_Click; [割り当て]
 Button1.OnClick := nil;        [解除]
このような場合、Windowsフォームアプリケーションでは、次のようにInclude/Excludeを使います。
 1.Windowsフォームアプリケーションを新規作成します。
 2.Button1とCheckBox1を配置します。
 3.下記のプログラムを記述します。

procedure TWinForm.TWinForm_Load(sender: System.Object;
 e: System.EventArgs);
begin
 CheckBox1.Checked := True;
 Include(Self.Button1.Click, Button_Click); //Self.は省略可
end;

procedure Button_Click(sender: System.Object; e: System.EventArgs);
begin
 MessageBox.Show('OK!');
end;

procedure TWinForm.CheckBox1_Click(sender: System.Object;
 e: System.EventArgs);
begin
 if CheckBox1.Checked then
  Include(Self.Button1.Click, Button_Click)    //割り当て
 else
  Exclude(Self.Button1.Click, Button_Click);   //解除
end;

|

« ☆FormのShowDialog | トップページ | ■5000カウント »