1,183
社区成员
发帖
与我相关
我的任务
分享
type
TWorkThread = class(TThread)
private
FExecuteMethod: TThreadMethod;
FCircled: Boolean;
protected
procedure Execute; override;
public
constructor Create;
property ExecuteMethod: TThreadMethod read FExecuteMethod write FExecuteMethod;
property Circled: Boolean read FCircled write FCircled default False;
end;
{ TWorkThread }
constructor TWorkThread.Create;
begin
FCircled := False;
FExecuteMethod := nil;
inherited Create(False);
end;
procedure TWorkThread.Execute;
begin
FreeOnTerminate := True;
while not Terminated do
begin
if Assigned(FExecuteMethod) then
begin
Synchronize(FExecuteMethod);
if not FCircled then
Break;
end;
Sleep(10);
end;
end;