|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
Или в рантайме его изменить? Интересует параметр RESOURCE у zen-страничек. Есть мысль указывать в качестве ресурса страницы имя ее класса - чтобы не возиться и руками не прописывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 09:50 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
значение параметра класса, нужно до начала компиляции, потому как в скомпилированный код вставляется только само значение ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 13:23 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
kolesovИли в рантайме его изменить? Интересует параметр RESOURCE у zen-страничек. Есть мысль указывать в качестве ресурса страницы имя ее класса - чтобы не возиться и руками не прописывать. Попробуйте так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 17:01 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
Turk, Спасибо. Отлично работает (добавил только создание ресурса в случае, если он изначально отсутствует, но это рюшечки ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2010, 04:06 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
Упс. Перестало это работать. Думаю с обновлением версии до 2014.1 Не можете подсказать, в чем проблема может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2014, 18:42 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
kolesovУпс. Перестало это работать. Думаю с обновлением версии до 2014.1 Не можете подсказать, в чем проблема может быть?Может что-то в вашем коде не так приведу пример моего кода, который нормально работает на 2014.1 меняет TIMESTAMP, если он не соответствует формату, ставя время компиляцииClassMethod OnCompile() [ CodeMode = generator, Internal, ServerOnly = 1 ] { s tSC=$$$OK s pvalue=$$$comMemberKeyGet(%class,$$$cCLASSparameter,"TIMESTAMP",$$$cPARAMdefault) i (pvalue'?14N) { $$$defMemberKeySet(%class,$$$cCLASSparameter,"TIMESTAMP",$$$cPARAMdefault,$tr($zdt($h,8,1)," :-/","")) s updateClass=##class("%Dictionary.ClassDefinition").%OpenId(%class) s updateClass.Modified=0 d updateClass.%Save() d updateClass.%Close() } quit tSC } ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2014, 18:47 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
Сори. Перемудрил на ночь( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2014, 18:49 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
kolesov, В 2014.1 вот так ещё можно (может и раньше можно было):Class Test.ParamComp Extends %RegisteredObject { Parameter Val = {$H}; } http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?KEY=GCNV_R2014_1#GCNV_C135859 Код: plaintext 1.
По-другому — можно вычислять значение в Runtime -- COSEXPRESSION: http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_classes#GOBJ_classes_parametersGOBJ_classes_parametersexpressions ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2014, 19:15 |
|
Можно ли заполнить параметр класса во время компиляции?
|
|||
---|---|---|---|
#18+
kolesov , Class my.c Extends %RegisteredObject { Parameter v As CLASSNAME = {%class}; } Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 09:34 |
|
|
start [/forum/topic.php?fid=39&msg=38621096&tid=1556908]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 132ms |
0 / 0 |