Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Приветствую. Как обратиться к методу класса, расположенного в другой области? Например: TEMP>do ##class(CObj.Container).FDemand("FFFF3344") DO ##CLASS(CObj.Container).FDemand("FFFF3344") ^ <CLASS DOES NOT EXIST> *CObj.Container Класс CObj.Container находится в другой области. С глобалами такое возмножно: TEMP>set ^["WORK"]GlobName("aa")="44", а с классами можно работать подобным образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 04:31 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
а если непосредственно перед вызовом метода сменить область, а затем восстановить исходную? Код: html 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 05:05 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
еще можно текущую область (до вызова метода) "запомнить" в переменную : set ns = $znspace ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 05:08 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
мы обычно так и делаем (переход в другую область, выполнение и возврат). Учтите, данные будут тоже в другой области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 06:45 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
вот кусок работающего кода: set ns = $namespace set $namespace = namespaceAgp $$$QuitOnError(##class(ext.Synchronization).Save(%this)) set $namespace = ns quit $$$OK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 07:23 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
м-да, работающий косяк :(, надо в область вовремя вернуться: set ns = $namespace set $namespace = namespaceAgp set sc = ##class(ext.Synchronization).Save(%this) // в другой области set $namespace = ns $$$QuitOnError(sc) quit $$$OK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 07:49 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Кстати, есть возможность "ньючить" $namespace, что может помочь распрямить код и перестать бояться не вернуться "домой". Т.е., в примере от ser_shu: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 10:41 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovКстати, есть возможность "ньючить" $namespace, что может помочь распрямить код и перестать бояться не вернуться "домой".Красивая фича, но мозги снесет. Сразу мерещится procedureblock с заньюенными системными переменными. Кошмарных снов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 16:01 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
ser_shu, а в чём кошмар? New системной переменной ничем отличается от new публичной переменной... Просто сама переменная относительно новая, как-то тихо появилась. Что касается более старых, то "new $ecode" уже второе десятилетие используется )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 16:25 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Имел в виду "new $etrap", конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 16:29 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Переход в другой namespace и обратно занимает много времени. Проверял на работе с глобалами, поэтому и не хочется менять область, а желательно именно вызывать из другой области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 02:47 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Denis S.Переход в другой namespace и обратно занимает много времени. Проверял на работе с глобалами вот тут поподробней, как проверяли, не совсем понятно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 09:33 |
|
||
|
Как обратиться к методу класса из другой области?
|
|||
|---|---|---|---|
|
#18+
Denis S.Переход в другой namespace и обратно занимает много времени. Проверял на работе с глобалами, поэтому и не хочется менять область, а желательно именно вызывать из другой области. Отображение пакетов Faster Namespace Activation ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 20:26 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37724682&tid=1557502]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 334ms |

| 0 / 0 |
