求大神给解释一下这段代码,我是新手,晕~ [delphi] view plaincopyprint
求大神给解释一下这段代码,我是新手,晕~[delphi] view plaincopyprint?TSecondEvent = procedure (Second: Integer) of object; TMyThread = class(TThread) private FSecond: Integer; FSecondEvent: TSecondEvent; procedure CallSecondEvent; protected procedure Execute; override; public property SencondEvent: TSecondEvent read FSecondEvent write FSecondEvent; end; { TMyThread } procedure TMyThread.CallSecondEvent; begin if Assigned(FSecondEvent) then FSecondEvent(FSecond); end; procedure TMyThread.Execute; var i: Integer; begin for i := 0 to 9 do if not Terminated then begin Sleep(1000); FSecond := i; Synchronize(CallSecondEvent); end else Break; end; 在主窗体中假设我们这样操作线程: procedure TForm1.Button1Click(Sender: TObject); begin MyThread := TMyThread.Create(true); MyThread.OnTerminate := ThreadTerminate; MyThread.SencondEvent := SecondEvent; MyThread.Resume; end; procedure TForm1.ThreadTerminate(Sender: TObject); begin ShowMessage(✀ok✀); end; procedure TForm1.SecondEvent(Second: Integer); begin Edit1.Text := IntToStr(Second); end; 我们将每隔一秒就得到一次通知并在Edit中显示出来