Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Не спрашивайте, зачем :) Нужно организовать выполнение метода по указанным в URL имени класса и метода, примерно так: ...?Class=Person&Template=CreateForm такой запрос приходит на "центральный" %CSP.Page-объект, который затем должен из базы у класса Person вызвать метод CreateForm (который, типа, рисует форму создания объекта). Так вот, главная непонятка, как из string-а получить указатель на класс или метод (скомпилированные)? Есть такой системный метод? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 10:59 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
"Заводиться" справочник соотвествия между именованием шаблона и соотвествием класса и метода в нем. Хоть в код зашивайте справочник - хоть таблицу делайте - по шаблону определяете наименования а потом [/src]d $zobjclassmethod("имя класа","имя метода",параметр1,параметр2 ....) Код: plaintext 1. 2. 3. 4. ... } [src] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:07 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Ptn у тебя форматирование глючит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:08 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad Rat , значения перемнных удобнее "разобрать" в JS, а потом уже передать их в Каше на "выполнение"... ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:11 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Справочник не пойдёт, нужно чтобы кто-нить потом мог новые шаблоны добавлять, а "центральный" класс не перекомпилировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:16 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Как вариант Код: plaintext 1. 2. 3. 4. Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:33 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatСправочник не пойдёт, нужно чтобы кто-нить потом мог новые шаблоны добавлять, а "центральный" класс не перекомпилировать Как это не пойдет ??? как раз справочник-на-таблице тут ой как нужен ... именно с ним ничего перекомпилировать не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:39 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
krvsaКак вариант Код: plaintext 1. 2. 3. 4. Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT $zobjclassmethod делает ровно тоже самое - только еще и параметры можно передовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:40 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
krvsa А указанный метод - не бьезопасен для вставки скрипта ... вот передасть тебе кто нить в качестве имени метода Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 11:47 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Ptn , безопастностью там и не пахнет. ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 12:09 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
За безопасностью будет следить как раз этот метод класса %CSP.Page - достаточно тупо проверить символы в строке какие. А справочник не подходит, потому что при добавлении нового шаблона пользователь вынужден будет его еще в какой-то там табличке зарегистрировать. Нужно чтобы было предельно просто: зашёл в студию, открыл класс, добавил метод визардом, написал туда html-кода, скомпилировал - и готово, можно делать на него ссылки. Короче, надо продемонстрировать крутость Кащея, хочу на нём продублировать функциональность одной системы, которая тормозная и глючная. krvsa, а это на чём? На кащейском языке можно тоже самое, пжлст? Я только учусь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 12:41 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Кстати, это как надо так хитро вызывать методы, чтобы галочка "Private" влияла? И на что она вообще влияет? Я пока что, сколько с Cache работаю, ну правда это не сильно долго, никакой разницы не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:32 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad Ratа это на чём? На кащейском языке можно тоже самое, пжлст? Я только учусь... Кащеистей уже некуда. Писал с использованием М-технологий онли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:34 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatКстати, это как надо так хитро вызывать методы, чтобы галочка "Private" влияла? Сам не пользосался... Но суть вроде такая. Приватные методы могут вызывать только методы этого же класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:38 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
А ссылку в мануал по этим "технологиям" можно? Знаю тока Set, Do, Quit и т.п. пока, а эти ваши конструкции больше ассемблер напоминают... Это что, сокращения какие-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:42 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Ну "суть" инкапсуляции я тоже знаю. :) Только через ##class() из других классов выполняются любые методы, и публичные, и приватные. Видимо есть какой-то ещё способ выполнения, на которые эта галочка влияет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:48 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatЗа безопасностью будет следить как раз этот метод класса %CSP.Page - достаточно тупо проверить символы в строке какие. А справочник не подходит, потому что при добавлении нового шаблона пользователь вынужден будет его еще в какой-то там табличке зарегистрировать. Нужно чтобы было предельно просто: зашёл в студию, открыл класс, добавил метод визардом, написал туда html-кода, скомпилировал - и готово, можно делать на него ссылки. Короче, надо продемонстрировать крутость Кащея, хочу на нём продублировать функциональность одной системы, которая тормозная и глючная. krvsa, а это на чём? На кащейском языке можно тоже самое, пжлст? Я только учусь... То есть вы считаете что пользователь это тот кто в студии классы компиляет ? Ну воля ваша .... Можно пойти по другому пути - создается абстрактный класс - унаследованный от %CSP.Page - в нем определяем параметр TEMPLATENAME.... плюс можем добавить метод-генератор - который при компиляции конечного класса - записывает соотвествие имя_класс=имя_параметра в некий глобал. Далее ... основная страница - может тупо выбирать все классы унаследованные от этого абстрактоно класса - и вызывать того у кого TEMPLATENAME совпадет с переданным ... для ускорения можно использовать поиск по глобалу - из генератора, который так же может дополнительно запоминать имена некоторых методов. Пользователь создает класс - унаследованный от базаваго класса - переопределяет параметр TEMPLATENAME - и вуаля.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:51 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatА ссылку в мануал по этим "технологиям" можно? Знаю тока Set, Do, Quit и т.п. пока, а эти ваши конструкции больше ассемблер напоминают... Это что, сокращения какие-то? Документация идет вместе с любой версией Cach'e - ссылка в контестном меню - вам нужен раздел Reference Material -> Caché ObjectScript Reference --- еще комментарий к приведенному выше примеру - если включена автокомпиляция то юзер может и просто создовать файлики Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:58 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatЭто что, сокращения какие-то? В М-технологии (кои поддерживает Каше) можно вызывать команды и функции по одной-двум начальным буквам, что я и делаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 14:05 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Ну да, категория пользователей такая - автор ресурса. Так сказать, почти программист. Ему надо дать в руки инструмент, с которым он может клепать классы и шаблоны интерфейса к ним. Простой по возможности. Хочу показать, что Каше удобнее и "гибше", чем существующая система. Этот способ тоже не пойдёт - у одного класса может быть сколько угодно разных методов-шаблонов, а не один. Короче, нельзя пользователя заставлять прописывать связь "имя метода - метод" - ни табличкой, ни свичкейсом, ни ещё как-нибудь, она должна автоматически делаться, точнее "физически" не должно быть никакой связи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 14:07 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Про передачу параметров в URL почитайте про request в документации или в CSP Quick Start на русском. Что касается, программного вызова методов произвольного класса почитайте: Using the Caché $ZOBJxxx Intrinsic Functions Хотя сама задумка выглядит достаточно небезопасной... Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 14:23 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatНу да, категория пользователей такая - автор ресурса. Так сказать, почти программист. Ему надо дать в руки инструмент, с которым он может клепать классы и шаблоны интерфейса к ним. Простой по возможности. Хочу показать, что Каше удобнее и "гибше", чем существующая система. Этот способ тоже не пойдёт - у одного класса может быть сколько угодно разных методов-шаблонов, а не один. Короче, нельзя пользователя заставлять прописывать связь "имя метода - метод" - ни табличкой, ни свичкейсом, ни ещё как-нибудь, она должна автоматически делаться, точнее "физически" не должно быть никакой связи. Ну ...вопервых страннен сам факт что вы собираетесь доказывать то чего в чем неуверены ... но дело ваше.. Что до " ... "физически" не должно быть никакой связи." - а как вы вообще это хотите реализовывать? или как это реализовано в старой системе ? Метод вызвать можно - пример даден - а вот как вы определите что именно этот метод и вот этот класс непонятно ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 14:27 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
А, понял всё, спасибо всем :) Мне всего-навсего нужен был оператор XECUTE :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 14:30 |
|
||
|
Выполнение метода по указанию в URL
|
|||
|---|---|---|---|
|
#18+
Mad RatА, понял всё, спасибо всем :) Мне всего-навсего нужен был оператор XECUTE :) Может вам попробовать класс с методами обявить как веб-сервис? И проецирование сразу есть и аргументы можно в виде параметров задавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 18:30 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35075858&tid=1559038]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 333ms |

| 0 / 0 |
