Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

application.ProcessMessages [D7, XP]


Страницы:   1 2

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]

вынеси в другой поток


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо