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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.11.2010, 09:29   #1  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
не знаю насколько корректен мой ответ, если что меня поправят

скопировать экземпляр класса Form можно простым присвоение ему того экземпляра, который хотите скопировать.
пример:
X++:
    Form    form;
    Form    formCopy;
    ;

    form = classFactory.createClass(classNum(Form));
    form.addDataSource('InventTable');

    formCopy    = form;

    form = null;

    info(formCopy.dataSource(1).name());
из приведенного примера видно, что при присвоении создается новый объект, а не прописывается ссылка на копируемый.

З.Ы. оговорюсь, возможно я ошибаюсь, буду очень признателен если меня поправят
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 24.11.2010, 09:37   #2  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Не, не правда. Обе ссылочные переменные ссылаются на одну и туже область памяти. Просто в последствии переменная form получает ссылку "в никуда", а formCopy остается ссылаемой на прежний объект в памяти.
За это сообщение автора поблагодарили: lev (2).
Старый 24.11.2010, 09:42   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от tricky Посмотреть сообщение
Не, не правда. Обе ссылочные переменные ссылаются на одну и туже область памяти. Просто в последствии переменная form получает ссылку "в никуда", а formCopy остается ссылаемой на прежний объект в памяти.
очень жаль, я думал что функция null очистит память, и если на него ссылаются другие объекты то они тоже обнулятся. Но это не так, спасибо tricky

Тогда прошу считать мой пример, как пример того, как делать не надо
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 24.11.2010, 09:46   #4  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Для явного удаления объекта из памяти следует использовать метод finalize объекта.
Старый 24.11.2010, 09:53   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от tricky Посмотреть сообщение
Для явного удаления объекта из памяти следует использовать метод finalize объекта.
ага, попробовал - это действительно так. спасибо.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
paruvella: Form browser for Dynamics Ax-Tables Blog bot DAX Blogs 0 26.06.2010 01:09
kamalblogs: Setting up Form size during runtime in Dynamics Ax Blog bot DAX Blogs 0 07.04.2010 20:05
Kashperuk Ivan: Lookup form returning more than one value Blog bot DAX Blogs 0 29.01.2010 18:05
dax-lessons: Problem when creating a dynamic form with ActiveX control & Solution :) Blog bot DAX Blogs 0 30.04.2008 16:05
Axapta Lessons: Trapping keystrokes in a Form Blog bot DAX Blogs 13 01.11.2006 18:16

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

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

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