Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Не совсем понял, что Вы пытаетесь добиться. Если присвоить значение произвольному полю объекта, используйте функцию $zobjproperty. $zobjval даже сама Интерсистемс не использует. set propName="MyProperty" set Obj=##class(pkg.Class).%New() set $zobjproperty(Obj,propName)="value" ; equivalent to set Obj.MyProperty="value" =logist (Сергей Шутов) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 06:02 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshkaработает!!! Честно скажу, слабо верилось. Так этому коду уже несколько лет! Чего бы ему не работать-то ceshkaТогда вопрос на засыпку: а через что-нить типа кашового Код: plaintext 1. 2. 3. 4. Типа s $zobjval(,/*имя нового поля*/количество полей и отношений+1,0,3,количество полей и отношений+1)="" что-нибудь бывает без лишних заморочек? А тут я вообще не понял что нужно делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 09:10 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
logist $zobjval даже сама Интерсистемс не использует. давно? на Каше 5.0.21 при компиляции класса генерится рутина MyApp.MyClass.1.int в ней есть метка %Construct, при создании нового экземпляра она исполняется следующим образом: Set $zobjval(,1,0,3,1)=$zu(115,10), а далее последовательно по количеству полей в новом объекте: $zobjval(,номер следующего поля,0,3,номер следующего поля)=$s(если определено значение по умолчанию, то оно, а иначе ""), на Каше 2007.1 то же самое только с небольшим отличием: $zobjval(,/*имя поля или отношения*/номер следующего поля,0,3,номер следующего поля)=$s(если определено значение по умолчанию, то оно, а иначе ""), Т.е. если объект уже инициализирован, Кашовый %Construct уже пройден, делаем s $zobjval(,/*имя нового поля*/количество полей и отношений+1,0,3,количество полей и отношений+1)="" и в объекте новое поле... Это возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 11:09 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
*.int код для Ваших классов пишет не Интерсистемс, а компилятор классов. Это - неоправданно низкий (в смысле абстракции) уровень программирования, навроде использования ассемблера в коде на C++ > на Каше 2007.1 то же самое только с небольшим отличием: А на Каше 4? А на Каше 2008? > Т.е. если объект уже инициализирован, Кашовый %Construct уже пройден, > делаем > s $zobjval(,/*имя нового поля*/количество полей и > отношений+1,0,3,количество полей и отношений+1)="" > и в объекте новое поле... Это возможно? А хрен его знает. Будет ли работать в новых версиях - тем более неизвестно. При сохранении такого объекта почти наверняка вылетит ошибка <CLASS RECOMPILED> Вообще говоря, Каше почти никаких ограничений на программиста не накладывает; хочется - делайте. Если нужно часто и помногу добавлять поля, лучше делайте массив или отношение многие-ко-многим. Любви. logist (Сергей Шутов) ООО Димас, ХАбаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 06:05 |
|
||
|
|

start [/forum/topic.php?fid=39&startmsg=35067001&tid=1559046]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
68ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 358ms |

| 0 / 0 |
