求大神给解释一下这段代码,我是新手,晕~ [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中显示出来
2026年09月24日 08:03
有2个网友回答
网友(1):

新手就弄这么深奥的代码了?那怎么跟你解释得清楚啊。写出来一堆的专业术语:线程、自定义事件类型、自定义事件、类、类的方法、类的属性、线程同步。如果你还不清楚这些概念,写出解释来你也读不懂啊。

网友(2):

一个很简单的基础多线程应用