AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.08.2003, 12:11   #1  
SnowMan is offline
SnowMan
Участник
 
57 / 10 (1) +
Регистрация: 15.08.2003
Адрес: Москва
? Как вывести сообщение ДО того как начнется длительная операция?
В представленном ниже коде сообщения в MsgStr = StringEdit, появляются одновременно и после завершения длительной операции, а требуется чтобы сообщения выводились последовательно...

PHP код:
void clicked()
{
    
super();
    
MsgStr.text('Ждите! Идет формирование данных...');
    
element.runSomethingLengthy();
    
MsgStr.text(MsgStr.text() + '\r\n' 'Формирование данных завершено!');

Перебирал варианты с StringEdit и Info() - результат один и тот же - пока метод clicked() не завершит свою работу визуальные вещи не обновляются...

ЗЫ
Где почитать про функции StartLengthyOperation() и EndLengthyOperation()?
Их применение перед началом длительной операции и после ее окончания ожидаемых результатов не принесли...
Старый 26.08.2003, 12:31   #2  
Джон is offline
Джон
Участник
 
39 / 10 (1) +
Регистрация: 05.08.2003
startLengthyOperation() переводит курсор в "песочные часы", endLengthyOperation() возвращает в "стрелочку". Прочитать можно в Руководстве Разработчика. Поиском по startLengthyOperation cразу найдете. Там же написано про прогресс-бар.
Старый 26.08.2003, 13:00   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
А выполнять element.redraw(); в теле метода не пробовали?
Старый 26.08.2003, 13:29   #4  
SnowMan is offline
SnowMan
Участник
 
57 / 10 (1) +
Регистрация: 15.08.2003
Адрес: Москва
Цитата:
Изначально опубликовано Джон
startLengthyOperation() переводит курсор в "песочные часы", endLengthyOperation() возвращает в "стрелочку". Прочитать можно в Руководстве Разработчика. Поиском по startLengthyOperation cразу найдете. Там же написано про прогресс-бар.
Спасибо!
Нашел, почитал, попробовал... прогресс-бар не подходит - он также обновляется только после завершения моей длительной операции...

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

Цитата:
Изначально опубликовано EVGL
А выполнять element.redraw(); в теле метода не пробовали?
попробовал - не помогает

Единственный выход пользоваться этими функциями startLengthyOperation() и endLengthyOperation() - они действительно работают так как от них ожидают, но хотелось бы дать пользователю немного больше информации о происходящем, а не просто "песочные часы"...
Старый 26.08.2003, 14:21   #5  
AndrewP is offline
AndrewP
Участник
 
4 / 10 (1) +
Регистрация: 10.02.2003
Адрес: St.Petersburg
PHP код:
info("Some msg");
infolog.viewUpdate();
infolog.redrawAllWindows(); 
infolog.viewUpdate() имеет смысл употреблять после info(), error(), etc. для того, чтобы лог действительно обновился

А вот чтобы он не только обновился, но и отрисовался, помогает infolog.redrawAllWindows(). Помогает во всех случаях, включая прогресс-бары, но вызывает (особенно если часто вызывать) некоторое дергание экрана.
Старый 26.08.2003, 14:42   #6  
SnowMan is offline
SnowMan
Участник
 
57 / 10 (1) +
Регистрация: 15.08.2003
Адрес: Москва
Спасибо AndrewP, действительно помогло...

Сочетание startLengthyOperation(); endLengthyOperation() и infolog.redrawAllWindows() дает желаемое поведение...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сильно модифицировано ваше приложение Аксапты? mazzy DAX: Прочие вопросы 30 14.04.2011 17:26
Как программно отправить сообщение группе пользователей demon46 DAX: Функционал 7 01.04.2008 14:57
Как в коде вывести метку (лейбл) из другого языка? rkorchagin DAX: Программирование 4 29.11.2006 16:15
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
3.0, Модуль: ОС, операция: Разноска строк журнала ОС (с предварит просм проводок) MagisterLudi DAX: Функционал 2 07.10.2003 18:55

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:49.