Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.07.24;
Скачать: CL | DM;

Вниз

Проблемма зависания IDTCPClient   Найти похожие ветки 

 
PonosetcDM ©   (2010-08-09 16:58) [0]

Простите уважаемые.... Я передаю файл пусть 100 Мб, по сети используя Indy, делаю это с помощью WriteFile, как мне избавится от зависонов...Существует ли возможность отобразить бегущую полосу загрузки в это время, или проценты, или отобразить какую-ть Gif-анимацию... заранее спасибо...


 
Eraser ©   (2010-08-09 21:12) [1]

многопоточность.


 
PonosetcDM ©   (2010-08-10 08:44) [2]

Что подразумевается тут??? Вызывать WriteFile в отдельном потоке, или же делать прогрессбар в отдельном потоке...


 
Сергей М. ©   (2010-08-10 09:47) [3]

При условии стабильного и достаточно высокоскоростного соединения можно и не заморачиваться с отдельным потоком.
Достаточно организовать поблочную передачу.
Делаешь своего наследника TIdIOHandler, в нем перекрываешь вирт.метод WriteFile. В перекрытом WriteFile создаешь своего наследника TIdReadFileExclusiveStreamб с перекрытым вирт.методом Read, в теле которого читаешь сравнительно небольшие блоки из потока-источника и обновляешь прогресс-индикатор.


 
PonosetcDM ©   (2010-08-10 10:26) [4]

Пробывал переколбасить исходный код WriteFile и при посылке очередного блока делал SendMessage(ProgressBarHWND, WM_SETNEWPROGRESS, Prcent, 0);
но ничего не получалось, почиму???.... Скорее всего это ваапще ересь полная..., то, что я делал..)))
ProgressBarHWND - Handle формы, которая создается в отдельном потоке, и у которой описан обработчик сообщения WM_NEWSETNEWPROGRESS = WM_USER+1 ;


 
Сергей М. ©   (2010-08-10 11:12) [5]


> Скорее всего это ваапще ересь полная..., то, что я делал


Эт точно)


 
Dennis I. Komarov ©   (2010-08-16 13:19) [6]


> Скорее всего это ваапще ересь полная..., то, что я делал..)))
> ProgressBarHWND - Handle формы, которая создается в отдельном
> потоке,

Значит сжечь на костре...



Страницы: 1 вся ветка

Текущий архив: 2016.07.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-1277230542
Отшельник
2010-06-22 22:15
2016.07.24
Изменить значение в памяти чужой программы которое берется из INI


15-1440774489
Rouse_
2015-08-28 18:08
2016.07.24
Ха, Windows 10 в крайними обновлениями может повесить систему :)


15-1441978253
Torry
2015-09-11 16:30
2016.07.24
torry.net


2-1416740909
Banana
2014-11-23 14:08
2016.07.24
Delphi 7 Юникод на печать


2-1413564529
azl
2014-10-17 20:48
2016.07.24
Вызов процедуры OnClick из модуля