> 動的に作成したTStringListのOnChangeイベントは使えるのでしょうか。
TStringListにはOnChangeイベントがあります。
ヘルプで調べると、このOnChaneはTNotifyEventで、TNotifyEventは
type TNotifyEvent = procedure (Sender: TObject) of object;
となっています。したがって、OnChangeのprocedureを作成してOnChangeに
結びつけます。
このProcedureをSLOnChageという名前にして、Private部に書くとすると、
例えば以下の様にできます。
private
{ Private 宣言 }
procedure SLOnChange(Sender: TObject);
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
SL : TStringList;
begin
SL:=TStringList.Create;
SL.OnChange:=SLOnChange;
try
SL.Add('ABC');
finally
FreeAndNil(SL);
end;
end;
procedure TForm1.SLOnChange(Sender: TObject);
begin
ShowMessage(TStringList(Sender).Text+'を追加しました ');
end;
動作確認 Delphi5 + WindowsXP
|