☆イベントの割り当てと解除
[Delphi8 - Windowsフォームアプリケーション]
Delphi7以前やVCLアプリケーションでは、次のようにイベントの割り当てと解除を行いますが、Delphi8では「CLR イベントでは,読み取り/書き込みは許可されません。Include/Exclude 手続きを使用してください」というメッセージが表示されてエラーになります。
Button1.OnClick := Button_Click; [割り当て]
Button1.OnClick := nil; [解除]
このような場合、Windowsフォームアプリケーションでは、次のようにInclude/Excludeを使います。
1.Windowsフォームアプリケーションを新規作成します。
2.Button1とCheckBox1を配置します。
3.下記のプログラムを記述します。
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;
| 固定リンク