18.08.2005, 14:47 | #1 |
Участник
|
Изменение RunOn у сабклассов
Корректно ли для сабкласса ставить свойство RunOn - Client если родительский класс - Server ?
|
|
18.08.2005, 15:00 | #2 |
Модератор
|
Хм. А почему нет?
С Уважением, Георгий. |
|
18.08.2005, 15:03 | #3 |
Участник
|
Нет
Если под сабклассом понимается наследник класса, то в 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 |
Участник
|
Понятно.
Я вообще-то умудрился поменять и вроде бы даже пока работает без глюков. Но лучше наверно вернуть назад ... |
|
18.08.2005, 16:03 | #5 |
Administrator
|
если сделать инкрементную компиляцию - от родителя - то все баги вылезут точно. В т.ч. и этот
|
|
18.08.2005, 16:27 | #6 |
Модератор
|
Re: Нет
Цитата:
Изначально опубликовано denny
Если под сабклассом понимается наследник класса, то в developer's guide по этому поводу четко написано.. Но, имхо, все не настлько критично. Одно опасение - как такой гибрид будет работать в трехзвенке... Как внутри класса переменные будет гоняться... Но, в общем-то, я бы поэксперементировал. Смотря, что за класс/какие методы родителя перекрывает/вызывает / что за задача. Дерзайте! С Уважением, Георгий. |
|
18.08.2005, 18:50 | #7 |
Участник
|
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет.
|
|
18.08.2005, 18:57 | #8 |
Модератор
|
Цитата:
Изначально опубликовано Axapta
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет. С Уважением, Георгий. |
|
19.08.2005, 11:24 | #9 |
Участник
|
Цитата:
Все наследники наследуют в т.ч. и это свойство родителя. Так что менять это свойство у наследников - бесполезно, в лучшем случае не на что не повлияет.
Причем реально работало на клиенте об этом сказал : PHP код:
|
|
19.08.2005, 11:45 | #10 |
Участник
|
Пример
|
|
19.08.2005, 12:19 | #11 |
Участник
|
Действительно
Спасибо. Сделал аналогичный пример у себя. Действительно, модифицируя параметр RunOn наследника, добился его выполнения в указанном месте. Кстати, есть и еще один способ проверки, где именно исполняется код: "Сервис - Параметры разработки - Взаимодействие клиента и сервера", галка должна быть выставлена. Тогда при каждом переключении между клиентом и сервером в MessageLog будет появляться сообщение.
Ну вот, нашли и еще одно исключение из правил. Не думаю, правда, что стоит широко им пользоваться - может запутать людей, поддерживающих написанный код. Так, в самых необходимых случаях. |
|
19.08.2005, 12:33 | #12 |
Участник
|
Я тоже думаю что не стоит им широко пользоваться.
Просто интересно было есть ли случаи получения глюков от такого насилия над системой ... |
|