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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.08.2005, 14:47   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
? Изменение RunOn у сабклассов
Корректно ли для сабкласса ставить свойство RunOn - Client если родительский класс - Server ?
Старый 18.08.2005, 15:00   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. А почему нет?

С Уважением,
Георгий.
Старый 18.08.2005, 15:03   #3  
denny is offline
denny
Участник
 
93 / 29 (1) +++
Регистрация: 16.11.2003
Адрес: Novosibirsk
Нет
Если под сабклассом понимается наследник класса, то в developer's guide по этому поводу четко написано:
"Classes extending other classes will also inherit the RunOn property. You cannot change it if it is Client or Server. If it Called from, you can leave it or change it to Client or Server."
То есть поменять можно только в случае, если у родителя в RunOn стоит CalledFrom. Иначе - никак.
Старый 18.08.2005, 15:56   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Понятно.

Я вообще-то умудрился поменять и вроде бы даже пока работает без глюков.
Но лучше наверно вернуть назад ...
Старый 18.08.2005, 16:03   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
если сделать инкрементную компиляцию - от родителя - то все баги вылезут точно. В т.ч. и этот
Старый 18.08.2005, 16:27   #6  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Re: Нет
Цитата:
Изначально опубликовано denny
Если под сабклассом понимается наследник класса, то в developer's guide по этому поводу четко написано..
Сапсибо! Будем знать...
Но, имхо, все не настлько критично. Одно опасение - как такой гибрид будет работать в трехзвенке... Как внутри класса переменные будет гоняться...
Но, в общем-то, я бы поэксперементировал.
Смотря, что за класс/какие методы родителя перекрывает/вызывает / что за задача.

Дерзайте!

С Уважением,
Георгий.
Старый 18.08.2005, 18:50   #7  
Axapta is offline
Axapta
Участник
 
91 / 12 (1) ++
Регистрация: 21.06.2002
Адрес: Moscow
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет.
Старый 18.08.2005, 18:57   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Изначально опубликовано Axapta
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет.
Ага. В принцепе, так и подозревалось... Тогда зачем же запрещают так строго?

С Уважением,
Георгий.
Старый 19.08.2005, 11:24   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет.
А у меня получилось ...

Причем реально работало на клиенте
об этом сказал :

PHP код:
    info(strFMT('Running on %1'xGlobal::clientKind())); 
Старый 19.08.2005, 11:45   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Пример
Вложения
Тип файла: xpo test_cs.xpo (3.0 Кб, 358 просмотров)
Старый 19.08.2005, 12:19   #11  
denny is offline
denny
Участник
 
93 / 29 (1) +++
Регистрация: 16.11.2003
Адрес: Novosibirsk
Действительно
Спасибо. Сделал аналогичный пример у себя. Действительно, модифицируя параметр RunOn наследника, добился его выполнения в указанном месте. Кстати, есть и еще один способ проверки, где именно исполняется код: "Сервис - Параметры разработки - Взаимодействие клиента и сервера", галка должна быть выставлена. Тогда при каждом переключении между клиентом и сервером в MessageLog будет появляться сообщение.
Ну вот, нашли и еще одно исключение из правил. Не думаю, правда, что стоит широко им пользоваться - может запутать людей, поддерживающих написанный код. Так, в самых необходимых случаях.
Старый 19.08.2005, 12:33   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Я тоже думаю что не стоит им широко пользоваться.

Просто интересно было есть ли случаи получения глюков от такого насилия над системой ...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поведение equal() метода в классе RunOn Server v3.0 SP4 Russland DAX: Программирование 7 15.11.2007 16:12
Динамическое Изменение ExtendedDataType Jolly DAX: Программирование 2 06.08.2007 17:29
SalesQuickQuote - разрешить изменение фильтра в форме SHiSHok DAX: Программирование 6 26.06.2007 11:23
RunOn у классов Paul_ST DAX: Программирование 5 22.11.2004 13:20
RunOn=Server Проблема listener DAX: Программирование 7 06.10.2003 13:30

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

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

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