26.08.2003, 12:11 | #1 |
Участник
|
Как вывести сообщение ДО того как начнется длительная операция?
В представленном ниже коде сообщения в MsgStr = StringEdit, появляются одновременно и после завершения длительной операции, а требуется чтобы сообщения выводились последовательно...
PHP код:
ЗЫ Где почитать про функции StartLengthyOperation() и EndLengthyOperation()? Их применение перед началом длительной операции и после ее окончания ожидаемых результатов не принесли... |
|
26.08.2003, 12:31 | #2 |
Участник
|
startLengthyOperation() переводит курсор в "песочные часы", endLengthyOperation() возвращает в "стрелочку". Прочитать можно в Руководстве Разработчика. Поиском по startLengthyOperation cразу найдете. Там же написано про прогресс-бар.
|
|
26.08.2003, 13:00 | #3 |
Banned
|
А выполнять element.redraw(); в теле метода не пробовали?
|
|
26.08.2003, 13:29 | #4 |
Участник
|
Цитата:
Изначально опубликовано Джон
startLengthyOperation() переводит курсор в "песочные часы", endLengthyOperation() возвращает в "стрелочку". Прочитать можно в Руководстве Разработчика. Поиском по startLengthyOperation cразу найдете. Там же написано про прогресс-бар. Нашел, почитал, попробовал... прогресс-бар не подходит - он также обновляется только после завершения моей длительной операции... Длительная операция в моем случае это не работа в цикле - это внешняя задача и она может быть достаточно долгой, чтобы пользователь мог запаниковать, поэтому хотелось бы ему сказать, чтобы зря не волновался и ожидал окончания... Цитата:
Изначально опубликовано EVGL
А выполнять element.redraw(); в теле метода не пробовали? Единственный выход пользоваться этими функциями startLengthyOperation() и endLengthyOperation() - они действительно работают так как от них ожидают, но хотелось бы дать пользователю немного больше информации о происходящем, а не просто "песочные часы"... |
|
26.08.2003, 14:21 | #5 |
Участник
|
PHP код:
А вот чтобы он не только обновился, но и отрисовался, помогает infolog.redrawAllWindows(). Помогает во всех случаях, включая прогресс-бары, но вызывает (особенно если часто вызывать) некоторое дергание экрана. |
|
26.08.2003, 14:42 | #6 |
Участник
|
Спасибо AndrewP, действительно помогло...
Сочетание startLengthyOperation(); endLengthyOperation() и infolog.redrawAllWindows() дает желаемое поведение... |
|
|
|