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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2007, 11:48   #1  
AcNoD is offline
AcNoD
Участник
 
10 / 10 (1) +
Регистрация: 03.08.2007
:( Распределение ресурсов процессора
Подскажите, пожалуйста! Вот, в основной форме я создаю, инициализирую и запускаю другую форму, например:

args = new Args("SomeFormName");

formRun = new formRun(args);
formRun.init();
formRun.run();

На этой форме (SomeFormName) динамически изменяется свойства ее
контролов: текст, цвет и т.п. Все меняется до тех пор, пока я не начинаю выполнять в основной форме код типа:
...
while select bankAccountTable
{
this.selected();
formRun.redraw();
}
...
Даже вызов метода redraw не помогает, дополнительная форма (SomeFormName) все равно не перерисовавается и остается статичной до завершения цикла.
Как заставить перерисовываться форму параллельно выполнению других ресурсоемких операций?
Старый 13.08.2007, 12:06   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
X++:
WinApi::updateWindow(element.hWnd());
За это сообщение автора поблагодарили: e@gle (1).
Старый 13.08.2007, 16:22   #3  
AcNoD is offline
AcNoD
Участник
 
10 / 10 (1) +
Регистрация: 03.08.2007
Попробовал так:
...
while select bankAccountTable
{
this.selected();
formRun.redraw();
WinApi::updateWindow(formRun.hWnd());
}
...
Подобный вызов обновления окна ч/з API ни к чему не приводит!
Старый 13.08.2007, 16:29   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Попробуйте:
1. на форме создать метод содержащий WinApi::updateWindow(element.hWnd());
2. в своем коде приводить formRun к Object и дергать этот метод
Старый 13.08.2007, 16:42   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Если не поможет, попробуйте здесь
X++:
 ...
 formRun.run();
//Здесь
добавить
X++:
 formRun.detach();
Старый 13.08.2007, 17:14   #6  
AcNoD is offline
AcNoD
Участник
 
10 / 10 (1) +
Регистрация: 03.08.2007
Cool
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Если не поможет, попробуйте здесь
X++:
 ...
 formRun.run();
//Здесь
добавить
X++:
 formRun.detach();
Я так понимаю, что метод detach() сохраняет в памяти форму, даже после закрытия основной (вызывающей), следовательно, этот вызов равносилен тому,
что я отделно руками (ч/з меню: открыть) вызываю эту форму.
Ни запуск отдельно, ни применение detach() не помогло...

КСТАТИ, я смотрел загрузка ЦП в момент обращения к таблице (цикл while select)
достигает потолка. Может дело все-таки в приоритете операций...
Старый 17.08.2007, 18:47   #7  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Цитата:
Сообщение от Андре Посмотреть сообщение
X++:
WinApi::updateWindow(element.hWnd());
вот о чем Андре говорит:
Вложения
Тип файла: xpo z_Test_IVAS.xpo (16.9 Кб, 575 просмотров)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Распределение бюджетов в Аксапте D.Cheprasov DAX: Функционал 2 05.05.2006 07:01
Распределение бюджетов HELP SAMmsk DAX: Функционал 1 30.03.2006 07:10
Распределение по счетам chel DAX: Функционал 2 24.03.2004 03:40
Распределение с аналитикой Swetik DAX: Функционал 3 15.03.2004 13:42

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

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

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