AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search Mark Forums Read

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

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

Если не изменяет память, метода такого нет, и решается это как-то криво (если решается)
Old 24.02.2008, 21:49   #3  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Quote:
Originally Posted by player View Post
visible(false) не интересно - будут они в памяти висеть и место занимать
Сливаем воду и сушим остаток:
сливайте. сушите. закройте форму и освободится память.
добавление и удаление контрола - несимметричные операции.
при добавлении форма остается валидной. при удалении контролов теоретически могут пойти синтаксические ошибки из-за использованных и автодекларированных переменных и методов контролов. кроме того
возможна масса побочных эффектов от кэширования.
__________________
полезное на axForum, github, vk, coub.
Old 24.02.2008, 22:55   #4  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 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;
        }
    }
This post has been rated by: player (1).
Old 16.09.2015, 13:16   #5  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Join Date: 21.04.2008
element.design().removeControl(control.id())
Old 16.09.2015, 13:23   #6  
Link is offline
Link
Британский учённый
Link's Avatar
Соотечественники
 
568 / 523 (19) +++++++
Join Date: 25.11.2005
Location: UK
Blog Entries: 9
Quote:
Originally Posted by belugin View Post
Tabax как раз удаляет Tabы, мегаизврат - мало того, что надо переключиться на существуюищий таб перед тем как удалять - так еще и само по себе перключение не всегда отрабатывает.
Помнится, у меня глючило закрытие таба - закрывался не тот на котором кликал мышкой. Вроде бы пофиксил. Версия в Dev toolset работает as expected. Единственная известная проблема это отрисовка табов, если динамически прячутся кнопки слева то нужно как то перерисовать табы, но как я не придумал.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Last edited by Link; 16.09.2015 at 14:01.
Tags
документация

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
метод 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
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 22:38.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.