![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобразить процесс передачи данных на сервер? [D7, Paradox]
CASU © (2003-01-22 11:16:00)Использую TSocketConnection. Сервер на удаленной машине. При передачи данных на сервер методом ClientDataSet.ApplyUpdate(0); начинается процесс передачи данных на сервер. Вопрос: Как визуально для клиента отобразить этот процесс? Можно ли например с помощью TProgressBar - столько-то всего, столько-то передано?
CASU (2003-01-24 08:35:00) [1]Ок, действительно пора "сбиваться", а то я эту программу к пенсии не успею написать. Всем спасибо кто отозвался.
roottim (2003-01-23 18:46:00) [2]многие задавались такой идеей фикс...
да юзеру совершенно пофиг что там отображают...
достаточно запустить загруску данных в потоке вывести формочку с какой-нить анимацие и надписью "покурите бамбук... идет загрузка" :-)
нипонимаю зачем себе жизнь портить!
dimis (2003-01-23 17:58:00) [3]количество записей известно
вычислешь количество передаваемой информации (включая служебную)
и слушаешь порт
должно видимо работать, но я бы не стал это реализовывать
Johnmen (2003-01-23 17:08:00) [4]Только приблизительно !
Посмотри для примера на прогрессбар своего IE. Никакого намека на точность...
CASU (2003-01-23 16:48:00) [5]>> Johnman
Спасибо, но я внимательно читаю все ответы. То что там написано, а именно:
"...конечно фигня, но можно примерно время прикинуть и взять с запасом и если всеже до сотни доберется рашьше времени, то на 0 скидывать и заново..."
Идея мне уже приходила с потоком... Мне же необходимо знать точно без приблизительного и т.д.
Скорость не постоянная от 14400 до 36600. Где ловить выходящую информацию? Причем ту которая именно от моей программы "выходящая", а не системные запросы Windows или другой программки?
CASU (2003-01-23 16:47:00) [6]>> Johnman
Спасибо, но я внимательно читаю все ответы. То что там написано, а именно:
"...конечно фигня, но можно примерно время прикинуть и взять с запасом и если всеже до сотни доберется рашьше времени, то на 0 скидывать и заново..."
Идея мне уже приходила с потоком... Мне же необходимо знать точно без приблизительного и т.д.
Sergey13 (2003-01-23 11:15:00) [7]2CASU (23.01.03 10:59)
>но это же не серьезно.
Ну можно еще картинку красивую (и/или смешную) выводить. 8-)
>Как отобразить процесс???
Не заморачивайся ты на это дело. Гиблое оно, ИМХО.
Johnmen (2003-01-23 11:05:00) [8]Уже сказали конкретно -
BorisUK © (22.01.03 13:08):Ну простую визуализацию процесса сделать это можно так.
CASU (2003-01-23 10:59:00) [9]Ребята - это все полемика, что-нибудь поконкретнее. Пока я процесс отображаю переводя курсор в crHourGlass - но это же не серьезно. Как отобразить процесс???
Соловьев (2003-01-22 13:30:00) [10]Да, я тоже с пока с потоком забил. тоже хотелось бы узнать как народ решил, а еще как народ решат проблемы при коннекте/дисконекте. У меня через сокет все. Так прога на 3 мин зависает, когда идет соединение, после дисконекта.
BorisUK (2003-01-22 13:08:00) [11]Тормозить то тормозить... тдегое дело что это не так просто сделать.
Я к примеру ваще хочу решить проблему "подвисания" всей проги на время пока ClientDataSet.ApplyUpdate выполняется.
Или когда ClientDataSet открывается. Для этого надо научится запускать в потоку все это дело... А там не все так просто - ИМХО маршалинг делать надо. Пока еще не нашел время поразбираться. Если кто знает способ другой - скажите.
Ну простую визуализацию процесса сделать это можно так.
Запускаешь поток в котором рисуешь в бесконечном цикле прогресс бар + 1 и реврешишь (конечно фигня, но можно примерно время прикинуть и взять с запасом и если всеже до сотни доберется рашьше времени, то на 0 скидывать и заново)
Затем
try
ClientDataSet.ApplyUpdate(0);
except
прерываешь поток если случилась ошибка
end;
прерываешь поток.
Способ самый примитивный, но если точность по барабану - пойдет :)
Соловьев (2003-01-22 12:21:00) [12]Ну, а ты думаешь будет тормозить?
CASU (2003-01-22 11:42:00) [13]А все-таки хотелось бы на стороне клиента...
Соловьев (2003-01-22 11:38:00) [14]А если отлавливать на сервере у провайдера событие добавления записи и передавать клиенту, ну а там уже визиализировать?