| 18 |
FOnWorkEnd: TGikoWorkEndEvent; |
FOnWorkEnd: TGikoWorkEndEvent; |
| 19 |
FOnDownloadEnd: TDownloadEndEvent; |
FOnDownloadEnd: TDownloadEndEvent; |
| 20 |
FOnDownloadMsg: TDownloadMsgEvent; |
FOnDownloadMsg: TDownloadMsgEvent; |
| 21 |
procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer); |
procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string); |
| 22 |
procedure WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer); |
procedure WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer); |
| 23 |
procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer); |
procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer); |
| 24 |
procedure DownloadEnd(Sender: TObject; Item: TDownloadItem); |
procedure DownloadEnd(Sender: TObject; Item: TDownloadItem); |
| 56 |
var |
var |
| 57 |
i: Integer; |
i: Integer; |
| 58 |
begin |
begin |
| 59 |
for i := 0 to FThreadList.Count - 1 do begin |
FThreadList.Pack; |
| 60 |
TDownloadThread(FThreadList[i]).Free; |
for i := FThreadList.Count - 1 downto 0 do begin |
| 61 |
|
TDownloadThread(FThreadList[i]).Free; |
| 62 |
end; |
end; |
| 63 |
|
FThreadList.Capacity := FThreadList.Count; |
| 64 |
FThreadList.Free; |
FThreadList.Free; |
| 65 |
|
FItemList.Clear; |
| 66 |
FItemList.Free; |
FItemList.Free; |
| 67 |
inherited; |
inherited; |
| 68 |
end; |
end; |
| 106 |
end; |
end; |
| 107 |
FAbort := False; |
FAbort := False; |
| 108 |
end; |
end; |
| 109 |
|
Application.ProcessMessages; |
| 110 |
end; |
end; |
| 111 |
for i := 0 to FThreadList.Count - 1 do begin |
for i := 0 to FThreadList.Count - 1 do begin |
| 112 |
TDownloadThread(FThreadList[i]).Terminate; |
TDownloadThread(FThreadList[i]).Terminate; |
| 167 |
FMaxThreadCount := Count; |
FMaxThreadCount := Count; |
| 168 |
end; |
end; |
| 169 |
|
|
| 170 |
procedure TThreadControl.WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer); |
procedure TThreadControl.WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string); |
| 171 |
begin |
begin |
| 172 |
if Assigned(OnWorkBegin) then |
if Assigned(OnWorkBegin) then |
| 173 |
OnWorkBegin(Sender, AWorkMode, AWorkCountMax, Number); |
OnWorkBegin(Sender, AWorkMode, AWorkCountMax, Number, AWorkTitle); |
| 174 |
end; |
end; |
| 175 |
|
|
| 176 |
procedure TThreadControl.WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer); |
procedure TThreadControl.WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer); |