Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/ThreadControl.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by yoffy, Sat Aug 9 14:22:51 2003 UTC revision 1.2.2.1 by yoffy, Mon Apr 19 22:46:49 2004 UTC
# Line 18  type Line 18  type
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);
# Line 56  destructor TThreadControl.Destroy; Line 56  destructor TThreadControl.Destroy;
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;
# Line 103  begin Line 106  begin
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;
# Line 163  begin Line 167  begin
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);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.2.1

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26