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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2003, 09:44   #1  
puz is offline
puz
Участник
 
37 / 11 (1) +
Регистрация: 01.09.2003
Адрес: Новосибирск
args().caller() - ссылка ?
У меня такой вопрос: объект args().caller() - это ссылка или нет?
Не приводит ли попытка его изменения к созданию копии (что-нибудь в духе copy on write)? Контекст вопроса такой: есть форма, которая создается методом dialog() из
класса, хотелось бы в форме через args().caller() вызывать методы класса, который ее создал.

Заранее спасибо
Старый 16.09.2003, 10:41   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Это ссылка.

Создаем класс:

PHP код:
class One
{
    
int one;

методы:

PHP код:
void setVar(int _one)
{
    ;
    
one _one;

PHP код:
void sayOne()
{
    print 
One;
    
pause;

PHP код:
void call()
{
    
MenuFunction   menuItem = new MenuFunction (menuItemDisplayStr (Two), MenuItemType::Display);
    
Args            arg = new Args();
              ;

    
One 1;

    
arg.caller(this);
    
menuItem.run(arg);

    print 
"Yes";
    
pause;
    
this.sayOne();

В init вызываемой формы пишем следующее:
PHP код:
public void init()
{
    
One var;
    ;
    
super();

    var = 
element.args().caller();

    var.
sayOne();
    var.
setVar(199);

И job:

PHP код:
static void Job1(Args _args)
{

    
One one = new One();
    ;
    
one.call();


Видим, что изменение переменной класса, сделанное в форме видно и из самого класса. Вывод - это ссылка.
Старый 16.09.2003, 12:49   #3  
puz is offline
puz
Участник
 
37 / 11 (1) +
Регистрация: 01.09.2003
Адрес: Новосибирск
Действительно.
Спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вызов метода element.args().caller().setOfficialsParams(.... Poleax DAX: Программирование 6 04.09.2008 19:49
Использование caller в args Zoe DAX: Программирование 3 23.04.2008 12:18
args.dataset() и args.record().tableid - могут ли отличаться? gl00mie DAX: Программирование 5 06.08.2007 13:21
args.caller() и .dialog maximka DAX: Программирование 2 04.06.2007 13:27
args.caller() Кирилл DAX: Программирование 3 15.04.2004 12:06

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

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

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