Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
знает ли кно-нибудь: 1. можно ли как-нибудь программно добавить в Кашовый объект поле, кроме как через переписывание существующего класса? 2. можно ли запихать в Кашовый объект дерево неизвестной глубины целиком, например посредством "merge"? или придётся писать на каждый уровень вложенности новый подчинённый класс? Т.е. не реализован ли тип данных типа (извините за товтологию) %Tree? 3. возможна ли в Каше реализация разного рода java-понтов типа падающих меню и, если да, то как именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 17:04 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Может я чего то не понял, но 1.Ээ? 2.Незачем пихать сразу дерево неизвестной глубины. Можно сделать поле класса, причем того же самого типа или другого, при желании можно его сделать хранимым внутри класса, но великого смысла пока тоже не вижу. 3.В каше возможно многое, в том числе и генерация javascript, (если вы его конечно знаете). Это ничем не отличается от генерации HTML. По третьему пункту вам наверняка еще добавят знатоки ZEN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 05:38 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
> 1. можно ли как-нибудь программно добавить в Кашовый объект поле, кроме > как через переписывание существующего класса? Тут уже было обсуждение на эту тему. Делается через классы %Dictionary.*, однако так поступать не рекомендуется по многим причинам, их тоже называли - поищите по форуму. > 2. можно ли запихать в Кашовый объект дерево неизвестной глубины > целиком, например посредством "merge"? или придётся писать на каждый > уровень вложенности новый подчинённый класс? Т.е. не реализован ли тип > данных типа (извините за товтологию) %Tree? Любому полю можно сделать модификатор [MultiDimensional]. Однако следует учесть, что такие поля не попадают в SQL, и хранение для них придется писать отдельно. > 3. возможна ли в Каше реализация разного рода java-понтов типа падающих > меню и, если да, то как именно? Можно написать клиента на Java. Любви. logist (Сергей Шутов) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 09:06 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
logist Тут уже было обсуждение на эту тему. Делается через классы %Dictionary.*, однако так поступать не рекомендуется по многим причинам, их тоже называли - поищите по форуму. что-то не нашел, не будет сцылочки, извините за наглость? logist Любому полю можно сделать модификатор [MultiDimensional]. Однако следует учесть, что такие поля не попадают в SQL, и хранение для них придется писать отдельно. огромное спасибо logist > 3. возможна ли в Каше реализация разного рода java-понтов типа падающих > меню и, если да, то как именно? Можно написать клиента на Java. видимо, некорректно задал вопрос. Нужен не клиент на Java, а примерно следующее: есть интернет страничка, в ней кнопочка-сцылочка, наводишь на нее мышку, падает менюшка с другими сцылочками. Куда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 14:18 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshkaКуда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки? Не знаю как в ZEN, может там есть готовые "компоненты", но для CSP все сведется к "коду" html и javaskript... Но писать его можно на COS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:22 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
krvsa Не знаю как в ZEN, может там есть готовые "компоненты", но для CSP все сведется к "коду" html и javaskript... Но писать его можно на COS. А где в самой страничке это должно располагаться и как должно выглядеть? Это как метод должно быть оформлено? Если на COS, то будет выглядеть как обращение к функции внутри метода? Что она должна формировать и в каком виде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:37 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshkaесть интернет страничка, в ней кнопочка-сцылочка, наводишь на нее мышку, падает менюшка с другими сцылочками. Куда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки? Все описанное не относится к серверному программированию, так что Cache' здесь не причем. 1. Кнопка-ссылка, при наведении мыши на которую, Вы собираетесь отображать меню - это любой объект HTML, например, специально оформленный стилями div. Тогда у него будет атрибут onmouseover="showMenu()", вызывающий обработчик на javascript для указанного события. 2. Меню - скорее всего тоже div, который изначально не отображается (style="display: none"), но обработчик showMenu делает его видимым, изменяя стиль, например, mybutton.style.display="" Содержимое этого div с необходимыми ссылками может быть отдано в контенте csp-страницы. JavaScript в CSP оформляется как обычно в HTML в тегах <script language="Javascript" type="text/javascript"></script> Скорее всего лучше применить готовые решения, например, изучив ZEN или, если Вы уже знакомы с CSP, обратите внимание на интеграцию с JavaScript-движком Dojo . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 01:41 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshka , Сашок уже все объяснил... Единственное, что могу добавить - это использование Код: plaintext Код: plaintext ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 08:59 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
вроде бы понятно. В таком случае актуальными остаются вопросы: 1. Как программно добавить поле в Кашовый объект немного модифицированный вопрос 2 - как сохранить в базу объект, в который смёржилось дерево? Или лучше мёржить не в объект, а сразу в базу класса? типа m @( "^" _ $p( class , "@" , 2 ) _ "D" )@( class.%Id() , field ) = tree ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 13:45 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshka1. Как программно добавить поле в Кашовый объект Мы испоьзуем %Dictionary.PropertyDefinition ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 14:32 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
krvsa Мы испоьзуем %Dictionary.PropertyDefinition ... А можно поподробней, там всё, что-то похожее на добавление поля типа [ Private ]? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 18:52 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
> 2 - как сохранить в базу объект, в > который смёржилось дерево? Или лучше мёржить не в объект, а сразу в базу > класса? > типа > m @( "^" _ $p( class , "@" , 2 ) _ "D" )@( class.%Id() , field ) = tree Если дерево предполагается достаточно большое, лучше его вообще не мержить в локальную память, а работать напрямую с глобалью, а в классе хранить ссылку на глобаль и использовать через косвянку, например @..At@(idx1,idx2) Недостаток такого метода - необходимо сохранять объект перед использованием свойства с деревом (т.к. в большинстве случаев одним из узлов глобали будет Id объекта) Если дерево небольшое, можно его использовать в свойстве [MultiDimensional], соответственно в класс добавить методы %OnOpen, %OnAfterSave и %OnAfterDelete, которые соответственно будут загружать, сохранять и удалять дерево, желательно в отдельную глобаль (не в object.NameD, а например object.NameG) =logist (Сергей Шутов) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 04:52 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshkaА можно поподробней? Так вроде уже некуда... - Создаеш новый экземпляр класса - Заполняеш нужные свойства, нужными значениями - Делаеш ссылку на класс Вот вроде и все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 08:49 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
всё равно туго понимаю krvsa - Создаеш новый экземпляр класса класса %Dictionary.PropertyDefinition надеюсь? т.е. s newclass=##class(%Dictionary.PropertyDefinition).%New("MyApp.MyClass||NEWPROPERTY") ? krvsa - Заполняеш нужные свойства, нужными значениями только то, что нужно, только это? s newclass.Type="%String" а далее d newclass.%Save() и всё? krvsa - Делаеш ссылку на класс это не понятно как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 17:21 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
понял ошибку, Insert не произведен был servit Class Definition Classes у них кроме самой каши еще и мануал кривой? круто! насколько понимаю, там должно быть if ##class(%SYSTEM.Status).IsError(cdef)? всё равно после создания нового экземпляра при попытке присвоить только что созданному полю значение пишет <PROPERTY DOES NOT EXIST> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 18:33 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Эта ошибка в документации исправлена в новых версиях. Высылаю новую ссылку: Class Definition Classes У меня пример из документации отработал правильно. Если Ваш пример все равно выдает ошибку, тогда надо смотреть Ваш код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 18:58 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Привет. > всё равно после создания нового экземпляра при попытке присвоить только > что созданному полю значение пишет <PROPERTY DOES NOT EXIST> Нужно перекомпилировать класс и переоткрыть уже открытые объекты =logist (Сергей Шутов) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 05:25 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshka , вот пример нашего кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 09:28 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close() , видимо, родитель ему мешается, а как без него? Вот сам класс, ничего необычного: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. отвлеченный вопрос: переменная err зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:31 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshka krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close() , видимо, родитель ему мешается, а как без него? Вот сам класс, ничего необычного: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. отвлеченный вопрос: переменная err зачем? Вы меняете метаописание класса и его отображения в SQL - соотвественно появится поле в во всех сохраненые объекты, и открытыл ПОСЛЕ изменения структуры класса объекты .... В приведоном коде смысла как то не наблюдается .... открыл объект добавил поле в ОПИСАНИЕ и что дальше то ? IMXO легче задачу решить через строковый Массив Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 13:41 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Ptn , т.е. в чём прикол тогда передавать в данную процедуру экземпляр? и почему <METHOD DOES NOT EXIST>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 14:27 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
ceshka krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close() Вот поэтому-то я и не хотел сначала этот код выкладывать Поскольку внашем варианте и создание класса выполняет некая функция... Но таки выложил в качестве иллюстрации. Суть там такая: - Создается новый класс - Потом сосздаются новые свойства и ссылаются на этот класс - Все это сохраняется Класс с новыми свойствами готов! Все остальное подробно описал Ptn ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 16:12 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Кодировка у нас правда DOSовская... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. Мопэд не мой... Я просто разместил объяву. (с) ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 16:18 |
|
||
|
ряд вопросов по Каше
|
|||
|---|---|---|---|
|
#18+
Господи Иисусе, krvsa , работает!!! Честно скажу, слабо верилось. Тогда вопрос на засыпку: а через что-нить типа кашового Код: plaintext 1. 2. 3. 4. 5. Типа s $zobjval(,/*имя нового поля*/количество полей и отношений+1,0,3,количество полей и отношений+1)="" что-нибудь бывает без лишних заморочек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 17:15 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35053288&tid=1559046]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 425ms |

| 0 / 0 |
