Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как отладить метод в Cache Studio, входной параметр которого имеет объектный тип?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Возникла необходимость написать метод на COS, добавляющий элемент в конец списка объектов Cache: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Как задать параметры для отлаживаемого метода в Cache Studio, если list имеет тип %Library.ListOfObjects, хранящихся персистентно, причем это пользовательские типы? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 22:34 |
|
||
|
Как отладить метод в Cache Studio, входной параметр которого имеет объектный тип?
|
|||
|---|---|---|---|
|
#18+
Oleg_VG , Как вариант, напишите еще один метод, который создаст объект и вызовет нужный метод. По поводу приведенного кода: Если имя класса заранее не известно, то конструкцией ##class() пользоваться нельзя, используйте $zObjClassMethod(<имя_класса>,<имя_метода>). Также не совсем понятен Ваш способ "приведения" и зачем это делается. list сам по себе является объектом и InsertObject можно вызвать непосредственно для него. Единственный случай (который я знаю), который требует явного приведения - это использование полученного списка в SOAP-запросах. В этом случае нужно создавать отдельный класс, унаследованный от %ListOfObjects, с переопределенным параметром ELEMENTTYPE (пример реализации есть в области SAMPLES - класс Sample.ListOfPersonIdentification и его использование в SOAP-методах). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 08:18 |
|
||
|
Как отладить метод в Cache Studio, входной параметр которого имеет объектный тип?
|
|||
|---|---|---|---|
|
#18+
Спасибо за подробную подсказку - насчет вспомогательного метода (или даже кода для получения oid или oref объекта list в этом методе) - то в моем случае это единственно возможный нормальный вариант. А по поводу приведения - опираясь на раздел справки "Using Objects with Caché ObjectScript" -> "Modifying Objects" - "Modifying List Properties" - "Populating Lists of Persistent Objects" ( http://docs.intersystems.com/cache20111/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_objcos#GOBJ_ModifyingObjects ) собирался таким образом получить oref на list, а потом уже добавить к list элемент. Однако реализовать все оказалось сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 14:45 |
|
||
|
Как отладить метод в Cache Studio, входной параметр которого имеет объектный тип?
|
|||
|---|---|---|---|
|
#18+
Да, а проблема возникла вообще вдалеке - когда я в своем приложении на C# попытался добавить элемент к объекту типа CacheListOfObjects (такой тип появляется в прокси классах .NET, которые генерит Caché Object Binding Wizard for .NET в VS), то выяснилось, что добавлять можно только объекты типа System.Object, а не пользовательский тип, созданный в Cache. Привести такой объект к типу System.Object не удалось, поэтому решил это реализовать на стороне сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 15:03 |
|
||
|
Как отладить метод в Cache Studio, входной параметр которого имеет объектный тип?
|
|||
|---|---|---|---|
|
#18+
Oleg_VGДа, а проблема возникла вообще вдалеке - когда я в своем приложении на C# попытался добавить элемент к объекту типа CacheListOfObjects <...>Теперь суть проблемы ясна. Итак: Class dot.test Extends %Persistent { Property field1 As %Integer; ClassMethod Test(Param1 As %ListOfObjects) As %Integer { q Param1.Count() } } Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 16:11 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37459415&tid=1557637]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 364ms |

| 0 / 0 |
