![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
application.ProcessMessages [D7, XP]
Mozgan © (2008-05-19 13:44:00)Добрый день!
Выполняется следующий код
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
procedure Start;
var
SourceFile, DestFile: string;
i,j, k: integer;
begin
form1.ProgressBar1.Min:=0;
form1.ProgressBar1.Max:= form1.listbox1.Items.Count-1;
for i:=0 to form1.listbox1.Items.Count-1 do
begin
form1.ProgressBar1.Position:=i;
application.ProcessMessages;
SourceFile:= form1.Resource_Label.Caption;
DestFile:= form1.Path_Label3.Caption+form1.Inc_Count_File.Caption+form1.ComboBox1.Items[0];
application.ProcessMessages;
form1.Status_proc.Caption:='Загрузка...';
application.ProcessMessages;
if DownloadFile(SourceFile, DestFile) then
form1.ProgressBar1.Position:=0;
end;
end;
Прога копирует файлы, указанные в Listbox, но с сильными тормозами. В результате приложение иногда зависает. В тело цикла поставил application.ProcessMessages - но все равно не работает как нужно. Посоветуйте, как можно исправить ситуацию.
ANB (2008-05-19 14:02:00) [21]
> if DownloadFile(SourceFile, DestFile) then
Функцию кто писал ?
Mozgan (2008-05-19 13:59:00) [22]Можно прокомментировать функцию URLDownloadToFile?
Описание некоторых параметров мне не знакомо :(
Сергей М. (2008-05-19 13:52:00) [23]
> с тредами немного не знаком
Определенного "улучшения" можно достигнуть и без тредов, но тогда придется задействовать
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);
Palladin (2008-05-19 13:49:00) [24]http://www.delphimaster.ru/articles/panov/
Mozgan (2008-05-19 13:48:00) [25]Спасибо! Но с тредами немного не знаком. Покажите пожалуйста пример как прпавильно работатьс потоком относительно моей задачи. С уважением!
Palladin (2008-05-19 13:46:00) [26]перенести функционал получения ресурса в отдельный поток (thread)
clickmaker (2008-05-19 13:46:00) [27]вынеси в другой поток