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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2008, 14:13   #1  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
подскажите метод-антагонист addControl
Возникла необходимость динамически создавать и удалять Tabpages и контролы на них. С созданием проблем не возникло - все красиво и замечательно, а вот удалять.... visible(false) не интересно - будут они в памяти висеть и место занимать
Сливаем воду и сушим остаток:
Как удалить контрол на форме? Скрывание не предлагать.
Старый 24.02.2008, 17:17   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Посмотрите одну из последних версий Sidax
http://www.axaptapedia.com/sidax

В ней реализовывалась схожая функциональность.

Если не изменяет память, метода такого нет, и решается это как-то криво (если решается)
Старый 24.02.2008, 21:49   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от player Посмотреть сообщение
visible(false) не интересно - будут они в памяти висеть и место занимать
Сливаем воду и сушим остаток:
сливайте. сушите. закройте форму и освободится память.
добавление и удаление контрола - несимметричные операции.
при добавлении форма остается валидной. при удалении контролов теоретически могут пойти синтаксические ошибки из-за использованных и автодекларированных переменных и методов контролов. кроме того
возможна масса побочных эффектов от кэширования.
__________________
полезное на axForum, github, vk, coub.
Старый 24.02.2008, 22:55   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Tabax как раз удаляет Tabы, мегаизврат - мало того, что надо переключиться на существуюищий таб перед тем как удалять - так еще и само по себе перключение не всегда отрабатывает.

В итоге получается вот что:

\Forms\Tabax\Methods\applyChanges

X++:
 if(conLen(forRemove))
    {
        if(tabs.tabs())
        {
            inDeletion=true;
            itemHandle=tabs.controlNum(1);
            itemHandle.activatePage();
            inDeletion=false;
        }
    }
...
if(selected)
    {
        itemHandle=windows.lookup(selected);
        if(!this.tabIsSelected(itemHandle))
        {
            this.setTabSelected(itemHandle);
            itemHandle.activatePage();
            updated=true;
        }
    }
За это сообщение автора поблагодарили: player (1).
Старый 16.09.2015, 13:16   #5  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
element.design().removeControl(control.id())
Старый 16.09.2015, 13:23   #6  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от belugin Посмотреть сообщение
Tabax как раз удаляет Tabы, мегаизврат - мало того, что надо переключиться на существуюищий таб перед тем как удалять - так еще и само по себе перключение не всегда отрабатывает.
Помнится, у меня глючило закрытие таба - закрывался не тот на котором кликал мышкой. Вроде бы пофиксил. Версия в Dev toolset работает as expected. Единственная известная проблема это отрисовка табов, если динамически прячутся кнопки слева то нужно как то перерисовать табы, но как я не придумал.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Последний раз редактировалось Link; 16.09.2015 в 14:01.
Теги
документация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
метод Modified к stringControl Poleax DAX: Программирование 15 21.07.2008 18:39
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Дисплей метод таблицы который вызывается из ГРИДА 3oppo DAX: Программирование 10 23.05.2006 06:47
Подскажите как использовать метод Edit vasiliy DAX: Программирование 1 30.03.2005 09:45
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

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

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

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