Вниз
Скачать: CL | DM;

Индикатор процесса копирования файлов   Найти похожие ветки 

← →
Raduga   (2003-11-04 16:22) [0]

Ребята, как вывести "живое успокоительное окно", если например в проге начинается копирование файлов большого объема. Прога, естественно ждет завершения копирования, а пользователь тем временем нервничает:" че-то программа зависла, что-ли". А так окошко бы висело с извенениями и надписью до завершения того-то осталось mm:ss.


← →
Anatoly Podgoretsky ©   (2003-11-04 16:27) [1]

Какие именно затруднения, конкретизируй вопрос. Пока по теме можно ответить TProgressBar


← →
ZEE ©   (2003-11-04 16:30) [2]

http://www.sources.ru/delphi/files/copying_files_with_dialog_box.shtml


← →
alex_***   (2003-11-04 16:33) [3]

Использовать методы оболочки SHFileOperation. По-моему там копирование можно задать со стандартным индикатором


← →
Raduga   (2003-11-04 16:36) [4]

Скажем нажатием на кнопку главной формы копируется файл А, большого размера, приложение ждет завершение процесса копирования. Хотя прога работает, но она не отвечает на действия пользователя. Мне нужно, чтобы пока файл копируется, появилось окно с тем же прогресбаром и текстом .


← →
Amoeba   (2003-11-04 16:36) [5]

Читаем http://www.delphikingdom.com/mastering/fileshellapi.htm


← →
alex_***   (2003-11-04 16:38) [6]

Не понял. Надо чтоб в процессе копирования окно не умирало?


← →
Anatoly Podgoretsky ©   (2003-11-04 16:39) [7]

Значит есть какой то секретный код.


← →
Raduga   (2003-11-04 16:40) [8]

А если не копирование, а вызывается какой-либо внешний процесс, как быть в этом случае.


← →
Raduga   (2003-11-04 16:43) [9]

Ребята, шустро отвечаете, спасибо огромное. Не успеваю за вамию


← →
Anatoly Podgoretsky ©   (2003-11-04 16:46) [10]

Это забота внешнего процесса


← →
alex_***   (2003-11-04 16:49) [11]

С внешним процессом будут проблемы синхронизации: нужно узнать когда он закончит копирование. А если ждать завершения, то окно не будет реагировать на внешнее воздействие.


← →
Raduga   (2003-11-04 16:56) [12]

Значит нельзя "оживить" программу пока выполняется внешний процесс, который запущен из этой проги?


← →
Anatoly Podgoretsky ©   (2003-11-04 17:03) [13]

Оживить можно, более того внешняя программа никак не мешает живости.


← →
alex_***   (2003-11-04 17:04) [14]

Можно запустить процесс в другом потоке, поток встанет на ожидание, а потом асинхронно известит осн. программу о завершении. А можно использовать для ожидания вн. процесса ф-цию MsgWaitForMultipleObjects. Там есть параметр dwMask - события, которые будут обрабатываться асинхронно, что позволит программе отрисовываться. ПО кр. мере так написано.


← →
alex_***   (2003-11-04 17:05) [15]

ошибся - д.б. MsgWaitForMultipleObjectsEx


← →
Raduga   (2003-11-05 09:09) [16]

Спасибо за помощь. Вопрос перетекает в следующую ветку :).


← →
Anatoly Podgoretsky ©   (2003-11-05 09:21) [17]

Аминь



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.015 c
1-56744
Intense
2003-11-07 22:15
2003.11.17
создание MDI-окна в run-time


3-56497
Makur
2003-10-28 10:27
2003.11.17
Вопрос по TADOStoredProc


14-56820
Marser
2003-10-25 13:51
2003.11.17
AVR 90S2313


1-56660
Atreides
2003-11-05 11:29
2003.11.17
Игнорирование обработчика события


1-56644
denmin
2003-11-04 15:02
2003.11.17
Проблема с For i:=... to ....




   Наверх