Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание своих системных классов / 14 сообщений из 14, страница 1 из 1
19.08.2012, 13:42
    #37922082
Adylov Timur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Подскажите пожалуйста, как создать в CACHE свой пользовательский класс, т.е. чтоб начинался с %
...
Рейтинг: 0 / 0
19.08.2012, 14:49
    #37922101
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
а пробовали создать ?
нет никаких проблем, нужно только не забывать что системные классы хранятся в системной же области хотя и доступны отовсюду.
т.е. хранятся в базе CACHELIB.
это нужно учитывать при переносе приложения на другой сервер
есть еще возможность использовать свои системные функции которые начинаются на Z а так же системные функциональные глобалы на Z (наподобии ^$J,^$G и т.д.)
и в любом случае нужно хранить код в системной области, и не забывать переносить
...
Рейтинг: 0 / 0
19.08.2012, 15:18
    #37922115
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
DAiMorа так же системные функциональные глобалы на Z (наподобии ^$J,^$G и т.д.)
Примерчик можно?
...
Рейтинг: 0 / 0
19.08.2012, 16:17
    #37922151
Adylov Timur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Пытаюсь создать через студию, задав имя класса в виде %NameClass, выдает ошибку, подскажите как правильно создавать?
...
Рейтинг: 0 / 0
19.08.2012, 17:04
    #37922183
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Adylov Timur,

Для создания %NameClass нужно

1. Убедиться что CACHELIB не подмонтирована в Read Only режиме
2. Перейти студией в область CACHELIB
3. Создать класс %NameClass
...
Рейтинг: 0 / 0
19.08.2012, 19:11
    #37922235
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Adylov TimurПытаюсь создать через студию, задав имя класса в виде %NameClass, выдает ошибку, подскажите как правильно создавать?

имя класса всегда должно содержать имя пакета, ты предполагаю хотите сделать класс наподобие %Status, %String и т.д.
то в данном случае все эти классы находятся в пакете %Library соответственно полные имена классов будут %Library.Status и %Library.String, пакет %Library можно не указывать напрямую при обращении, но создан класс конечно должен быть правильно.
...
Рейтинг: 0 / 0
19.08.2012, 19:35
    #37922241
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Есть еще момент,
база CACHELIB по умолчанию только для чтения.
Нужно разрешить в ней запись.
...
Рейтинг: 0 / 0
19.08.2012, 19:36
    #37922242
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
А сорри, повтоярюсь. Ptn все написал.
...
Рейтинг: 0 / 0
19.08.2012, 20:45
    #37922254
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
а кто нибудь кстати видел описание в документации создание собственных structured system variable name or SSVN
я пока нашел возможность реализацию SET, GET, DATA, ORDER, QUERY, для них
получилось так
SSVNZT.mac в области %SYS
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set(args,data)
	zw args,data
	q
data(args,data)
	zw args,data
	q
get(args)
	zw args
	q ""
order(args,dir)
	zw args,dir
	q ""
query(args,dir)
	zw args,dir
	q ""


и соответственно обращения к глобалу ^$ZT, например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USER>s ^$zt(1,2,3)="test"
args=6
args(1)=""
args(2)=0
args(3)="ZT"
args(4)=1
args(5)=2
args(6)=3
data="test"
...
Рейтинг: 0 / 0
20.08.2012, 13:51
    #37922959
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Создание чего-либо, что будет хранится в БД CACHELIB = головная боль при эксплуатации, т.к. при любых операциях обновления Cache всё "ваше" будет затёрто, и вам придётся это заливать заново. Придерживаясь несложных правил именования (см. "Custom Items in CACHESYS") , можно создавать системные классы (программы, глобалы), хранящиеся в БД CACHESYS, с которыми обновления Cache поступают "по-человечески": они не только не теряются, но даже перекомпилируются.

А ещё лучше не касаться системных баз Cache вообще, благо отображение пакетов позволяет иметь собственную системную БД и ни от кого не зависеть.
...
Рейтинг: 0 / 0
20.08.2012, 16:08
    #37923237
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Alexey MaslovА ещё лучше не касаться системных баз Cache вообще, благо отображение пакетов позволяет иметь собственную системную БД и ни от кого не зависеть.Полностью поддерживаю.
...
Рейтинг: 0 / 0
21.08.2012, 05:28
    #37923857
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Adylov Timur,

Что дозволено Юпитеру не позволено быку ;)
...
Рейтинг: 0 / 0
21.08.2012, 07:12
    #37923880
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
kolesov,

Из КВН 70-х:
Под небом очень ярким
Бык приставал к дояркам,
Но Леня Жаботинский
Подверг его толчку!

И с первой же попытки,
Откинул бык копытки...
Что можно чемпиону,
Того нельзя быку!

П.С. Для молодежи: Леонид Жаботинский - штангист супертяж, чемпион СССР, мира и, кажется, олимпиады.
...
Рейтинг: 0 / 0
21.08.2012, 12:43
    #37924321
Adylov Timur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своих системных классов
Чтобы стать чемпионом, надо много трудиться, что я и стараюсь делать
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание своих системных классов / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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