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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.05.2003, 11:06   #1  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
Обновление экрана Аксапты во время выполнения приложения
Как сделать обновление экрана во аремя выполнения приложения?
Ситуация следующая:

На каком то этапе выполнения программы мне необходимо вывести информацию, о том что процесс не завис, и что то считает.

Эту информацию вывожу с помощью функции
info("INFO")

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

Есть ли какие способы это сделать?
например
pause 1;
или что то типа того.
Старый 28.05.2003, 11:10   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
infolog.viewUpdate(). Но вообще-то, нормальный способ - использовать SysOperationProgress.
Старый 28.05.2003, 11:29   #3  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
Мне надо выводить кое-какие расчеты во время выполнения,
не только как для отладки, но и для пользователя, что бы он не скучал.

Поэтому ПрогрессБар мне не подходит

Кстати, а есть возможность прокрутить из программы окно для информации на последнюю строчку?
А то тут вообщем записей не то что бы много, но создается это окно с каким то размером, и следующие строки уже не видны.
так как выходят за границу окна.


За предыдущий совет спасибо, работает
Старый 28.05.2003, 11:52   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Изначально опубликовано ddadream
Мне надо выводить кое-какие расчеты во время выполнения, не только как для отладки, но и для пользователя, что бы он не скучал. Поэтому ПрогрессБар мне не подходит
Ну почему же не подходит? Выводите результаты в text ПрогрессБара. ПрогрессБар - это ведь не только ползунок.
Старый 28.05.2003, 12:04   #5  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
Ну не подходит по той причине что мне нужно вывести не одну строчку,
а штук 3-5 для информации, пока просчитывается следующий программный блок.

Да и история не сохраняется, что бы посмотреть потом, а что же все таки получилось в результате.

Старый 28.05.2003, 12:25   #6  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Хм... Ну ладно, вот варианты решения:
  • Если речь идет о 3.0, можно попытаться создать Thread. Оформить тредом саму задачу или сделать процесс, который отвечал бы за отражение информации.
  • Можно похимичить с Infolog, создать на нем метод, который делал бы FormTreeControl.selectSetFirstVisible(itemIdx)
  • но я лично завел бы многострочный ProgressBar, возможно даже не обновлял бы некоторые ползунки, и при этом дублировал бы все сообшения в Infolog. Самое быстрое решение.
Старый 28.05.2003, 13:26   #7  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
Цитата:
Изначально опубликовано EVGL
[list][*]Если речь идет о 3.0...
Проектик для 2.5.

Цитата:
[list][*]Можно похимичить с Infolog, создать на нем метод, который делал бы FormTreeControl.selectSetFirstVisible(itemIdx)
А вообще есть ли какое описание к этому классу или чего еще?

Потому что, даже если химичить, то не понятно как.
У этого класса вообще вроде как нету перемещения информации в окне,
есть только функция которая может вернуть , то что находится в этом окне.
А о каких либо изменениях размера, или прокрутки в нем, я что то функций не нашел.
Можно конечно через winapi, но помоему это не стоит таких разборок

Цитата:
  • но я лично завел бы многострочный ProgressBar, возможно даже не обновлял бы некоторые ползунки, и при этом дублировал бы все сообшения в Infolog. Самое быстрое решение.
Насколько многострочный? А если строка допустим 1/3 экрана.
это что прогресс бар будет треть экрана занимать
Старый 28.05.2003, 13:56   #8  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Изначально опубликовано ddadream
Потому что, даже если химичить, то не понятно как. У этого класса вообще вроде как нету перемещения информации в окне, есть только функция которая может вернуть , то что находится в этом окне.
Да все у него есть. Info.viewBuild()
Старый 28.05.2003, 14:54   #9  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
А что это ? передача команды ?
Старый 28.05.2003, 15:18   #10  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
А что это ?
А изучить?
Старый 28.05.2003, 17:50   #11  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
это видимо функция построения окна,
и назначение всяких иконок и текста в заголовке и т.д.

но там нет ничего про размер и то что мне надо.
Старый 28.05.2003, 18:02   #12  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Ok. На мой поверхностный взгляд, эта функция как раз и заполняет окно инфолога, добавляя новые элементы в дерево на соответствующей форме. А что, если модифицировать этот класс так, чтобы по нашему приказу обзор дерева смещался на последнюю веточку дерева? Я полагаю, что для этого годится метод FormTreeControl.selectSetFirstVisible. Что касается размера - не уверен, можно ли здесь что-нибудь сделать.
Старый 28.05.2003, 18:31   #13  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
Даа , ситуация хитрая.

Как только я создаю через класс, так сказать свой Info окошко, то при закрытии формы где я его создал, закрывается и сам info.
ну, это понятно почему.

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

в котором есть какие-никакие функции управления.
ну или накрайняк, написать свой class Info.


спасибо за советы, надо подумать определиться, делать или нет.
если придется, тогда решение вроде есть.
Старый 28.05.2003, 18:49   #14  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Если функцию хорошо попросить, она сразу захочет работать:
PHP код:
            }
            
treeItem.data(tmpInfoTable.recId);
            
errorTree.setItem(treeItem);
            
errorTree.selectSetFirstVisible(treeItem.idx()); // !!!
        

Старый 28.05.2003, 19:50   #15  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
void selectFirstVisible(int x)
{
FormTreeItem treeItem;

treeItem = new FormTreeItem();
treeItem.data(tmpInfoTable.recId);
errorTree.setItem(treeItem);
errorTree.selectSetFirstVisible(treeItem.idx()); // !!!
}

вставил такой метов в класс Info.

вызываю его, и нифига не происходит
Старый 29.05.2003, 12:53   #16  
ddadream is offline
ddadream
Участник
Аватар для ddadream
 
130 / 17 (1) ++
Регистрация: 30.11.2001
Адрес: moscow
почему то этот метов всегда возвращает 0,

treeItem.idx()
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Аксапта закрывается во время выполнения запроса Suhovic DAX: Программирование 4 03.12.2007 15:30
Время созданного "сейчас" файла меньше timenow на 4 часа Gustav DAX: Программирование 20 04.09.2006 18:59
Не считается время выполнения в журнале трассировки SQL MironovI DAX: Администрирование 4 14.04.2006 16:40
Время по графику и фактическое время работы в табеле nicko DAX: Функционал 0 09.02.2005 15:24
Обновление существующего приложения до SP5 SSA DAX: Администрирование 16 19.02.2003 18:14
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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