Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ошибка при запуске метода класса / 10 сообщений из 10, страница 1 из 1
06.09.2007, 12:38
    #34780719
AdmigatorR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Привет соседи по повседневным заботам. Доброе утро все-свем=ем.
Вот какая беда, не запускается на проверку метод класса. Создаю класс. В терминале пишу
автор do ##class(Name).Method("string")
Пробую создать обьект. Если так:
авторSet OREF=##calss(Name).%New()
и do OREF.Method("string") то метод выполняется. А если хранимый обьект
авторSet ^ObjName=##calss(Name).%New() , запустить метод. У меня че-то не получается. Подскажите, что не так делаю
...
Рейтинг: 0 / 0
06.09.2007, 12:45
    #34780774
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Код: plaintext
Set ^ObjName=##calss(Name).%New()
Не совсем понятно, чего хотите добиться этой командой
...
Рейтинг: 0 / 0
06.09.2007, 12:52
    #34780826
AdmigatorR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Снова смеяться будете. С моей колокольни - создаю хранимый екземпляр класса. После выполнения появляется глобал. Я по книге смотрю. Там так написано.
...
Рейтинг: 0 / 0
06.09.2007, 12:58
    #34780867
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
AdmigatorR , вероятно вы сделали метод экземпляра... Он небудет запускаться как метод класса.
В глобальную переменую ореф класса писать нельзя. Только в локальную... И это не "хранимый екземпляр" Просто ореф... Т.е. некая ссылка на екземпляр класса.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
06.09.2007, 13:09
    #34780932
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Ну мало ли затейников...

Хранимый экземпляр получается медотом %Save()
А методом %Id() можно увидеть, какой хранимый ид у объекта.
А классовым методом %OpenId(id) можно его восстановить.

А храниться он будет в глобале, имя которого похоже на имя +класса буква "D"
...
Рейтинг: 0 / 0
06.09.2007, 13:39
    #34781113
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Блок А.Н.А храниться он будет в глобале, имя которого похоже на имя +класса буква "D"
Это если ничего не "мутить" А то у нас "затейников" хватает!...
...
Рейтинг: 0 / 0
06.09.2007, 14:00
    #34781229
AdmigatorR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Спасибо за подсказки, все учел. Но вот авторdo ##class(Name).Method("string") все равно не идет, а вроде должен.
...
Рейтинг: 0 / 0
06.09.2007, 14:18
    #34781357
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
AdmigatorRвсе равно не идет, а вроде должен.
Сделай его методом класса и он пойдет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
/// Вернуть ID для файла
ClassMethod ModelId(File As %String) As %String
{
 q:File="" ""
 s obj=##class(%ResultSet).%New("%DynamicQuery:SQL")
 s sql="Select * From doc.model Where name=?"
 s ok=obj.Prepare(sql)
 s ok=obj.Execute(File)
 s id=""
 s:obj.Next() id=obj.Get("ID")
 d obj.Close()
 q id
}

}
...
Рейтинг: 0 / 0
07.09.2007, 08:02
    #34783112
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
AdmigatorRСнова смеяться будете. С моей колокольни - создаю хранимый екземпляр класса. После выполнения появляется глобал. Я по книге смотрю. Там так написано.

Он и создается ... только вот ссылки на созданный объект вы не получаете :-)
...
Рейтинг: 0 / 0
07.09.2007, 14:51
    #34784624
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запуске метода класса
Прочитайте документацию по классам Cache'
или на русском языке документ
Object Quick Start

Вадим
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ошибка при запуске метода класса / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]