Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Изменение имени класса / 7 сообщений из 7, страница 1 из 1
12.09.2007, 15:06
    #34794663
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
Здравствуйте
подскажите как изменить имя класса. вот что в голову пришло.... ( но имя не меняет

s OldName = "Admin.BlankLines"
s NewName = "Test"
s cdef = ##class(%Dictionary.ClassDefinition).%OpenId(OldName)
s cdef.Name = NewName
s ok =cdef.%Save()
Q
...
Рейтинг: 0 / 0
12.09.2007, 15:27
    #34794748
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
Studio -> Инструменты -> Скопировать класс
Могу немного ошибаться, посмотрите в Studio.

Вадим
...
Рейтинг: 0 / 0
12.09.2007, 15:30
    #34794763
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
И студия вроде не дает созранить класс с другим именем.
Наверно потому как опасное это дело - нужно менять типы всех ссылок, которые ссылаются на этот класс.

Так что, я думаю, выход - создать новый класс и скопировать его из начального.
...
Рейтинг: 0 / 0
12.09.2007, 15:31
    #34794773
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
yot , так имя классу не поменяеш... Там имя класса используется в качестве ID экземпляра.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
12.09.2007, 15:34
    #34794793
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
жаль ( а я так надеялся...
а то есть необходимость изменения имени класса, и хотелось это сделать по проще..
а теперь придется считывать из старого, потом создавать и записывать в новый, затем удалять старый и компилить новый (((
...
Рейтинг: 0 / 0
13.09.2007, 11:32
    #34796887
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
пробовал через глобали скопировать
m ^oddDef("новый класс")=^oddDef("уже существующий класс")

копировать то копирует... но класс все равно не создается

вспомнил что в студии можно скопировать инструменты->скопировать класс
все копирует хорошо...
вопрос в следующем... может можно как-нибудь програмно вызвать метод этого копирования..., и если можно то как?
...
Рейтинг: 0 / 0
13.09.2007, 11:44
    #34796946
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение имени класса
Копировать просто так класс в oddDEF нехорошо.
Во-первых, там куча ключей по типу
^oddDEF("classname")="classname", то есть classname вроде как не только в субскрипте глобала.
Во вторых, структура хранения.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Изменение имени класса / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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