Форум: "Сети";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];
ВнизПроблемма зависания 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c