Работа с потоками в delphi
Собственно прошу помощи. Не могу понять в чем примерно дело. Все работает, только вот программа на сохранении виснет. Решил запилить сохранение в поток, дабы не подвисала. В итоге основной поток ждет, пока завершится другой. Если у кого-то есть пример сохранения стрима в потоке - просьба выложить.
|
Re: Работа с потоками в delphi
Лучше кинуть кусок кода, какой поправить, по описанию ниче не понятно, что где зависает.
|
Re: Работа с потоками в delphi
Код:
unit Unit1; |
Re: Работа с потоками в delphi
Код:
Self.Priority:=tpHighest; //Стартуем с высоким приоритетом Код:
SaveFile:=TSaveFile.Create(stream,path); |
Re: Работа с потоками в delphi
G1ta0, я вообще хотел сделать так:
файл скачивается в stream и потом создается thread, который записывает этот stream на диск, а в это время программа качает уже следующий файл |
Re: Работа с потоками в delphi
Странная постановка задачи.
Зависает скорее не сохранение, а загрузка файла. Не может файл скачиваться быстрее, чем записываться на локальный диск. Скачку и сохранение надо делать в отдельном потоке с информированием формы через SendMessage. Типа TDownloader.Create('http://example.com/file.zip', 'C:\file.zip', frmMain.Handle). Объект TDownloader в процессе шлет форме сообщения о прогрессе, в случае ошибки и при завершении загрузки. Цитата:
|
Re: Работа с потоками в delphi
Цитата:
Я делал через Indy Http тк там можно считать % сколько скачалось и прочее. А потом стрим сохранял на диск. Добавлено через 5 минут Цитата:
Цитата:
Чтобы не зависало использую антифриз. |
Re: Работа с потоками в delphi
Цитата:
|
Re: Работа с потоками в delphi
Цитата:
Код:
procedure TForm1.Download(obj,path:string); |
Re: Работа с потоками в delphi
Цитата:
|
Текущее время: 23:24. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot