0
イベントハンドラを割り当てるときに、私は、Object Inspector
が明示的なアクセス修飾子を持たないメソッド間でのみ選択できることに気付きました。private/protected/publicメソッドをイベントハンドラとして設定するのは安全ですか?
例として、以下のクラス撮る:]ドロップダウンリストで
TMyForm = class(TForm)
MyButton: TButton;
procedure MyButtonClick(Sender: TObject);
private
procedure MyButtonPrivateClick(Sender: TObject);
protected
procedure MyButtonProtectedClick(Sender: TObject);
public
procedure MyButtonPublicClick(Sender: TObject);
end;
を、Object Inspector
だけMyButtonClick
を示しています
このような理由のために、それが安全だ場合、私は思ったんだけどコードによってイベントハンドラに対してprivate
/protected
/public
メソッドを設定するか、この慣行から生じるいくつかの問題があるかどうかを確認してください。
MyButton.OnClick := MyButtonPrivateClick;
//...
試してみてどうなりますか? – Lloyd
@Lloyd:それは何も間違っていないように見えますが、エラーもなくコンパイルも警告も動作しませんが、特定の条件で問題を引き起こすバックサイドアスペクトがあるかどうかはわかりません – ExDev
メソッドが公開されています。このため、オブジェクトインスペクタで表示され、他のオブジェクトでは表示されません。 – kobik