powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / компиляция класса, созданного программно
12 сообщений из 12, страница 1 из 1
компиляция класса, созданного программно
    #37235554
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет

столкнулся с проблемой компиляции класса, созданного программно
вот класс который получился
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Class TEST.ContentTypes.Override Extends (%Library.RegisteredObject,  %XML.Adaptor) [ Inheritance = left, ProcedureBlock ]
{

Property ContentType As %String(XMLPROJECTION = "XATTRIBUTE");
Property PartName As %String(XMLPROJECTION = "XATTRIBUTE");

/// для присвоения значений атрибутам
Method setProp(field, val)
{
	s $ZOBJPROPERTY(%this,field)=val
}

}
пытаюсь его автоматически скомпилировать - не получается
компиляция из студии выдает ошибку:
Код: plaintext
1.
2.
3.
ОШИБКА # 5289 : Невозможно собрать дерево компиляции так как для класса  %XML.Adaptor, от которого оно зависит, не разрешимо наследование.
  > ОШИБКА # 5030 : Возникла ошибка при компиляции класса TEST.ContentTypes.Override
Обнаружено  1  ошибок во время компиляции.

что сделать чтоб побороть это?
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37235560
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.S. каким способом лучше компилировать?
какие лучше использовать флаги?
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37235591
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
причину понял:
было: d nc.SuperSet("%Library.RegisteredObject, %XML.Adaptor")
стало: d nc.SuperSet("%Library.RegisteredObject,%XML.Adaptor") , т.е. вкрался пробел зараза )))

но в рекомендациях я все еще нуждаюсь
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37244574
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуйста:

где хранится описание того что загружает студия при открытии класса?
интерисует откуда берется порядок свойств
формирую класс динамически, порядок следования нарушается.
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37244647
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О классах хранится в oddDEF, я думаю, он не документирован и от версии к версии может меняться.
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37244719
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007 ,

select * from %Dictionary.CompiledProperty where parent = 'пакет.класс' and not(Name %startswith '%') order by SequenceNumber
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37244724
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или из %Dictionary.PropertyDefinition
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37245103
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

благодарю, оно то что нужно )))
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37245232
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а в чем отличие классов:

%Dictionary.CompiledProperty
и
%Dictionary.PropertyDefinition

?
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37245252
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37246161
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

не совсем понятно

если я захочу поменять свойство SequenceNumber
то как мне лучше сделать?

через %Dictionary.PropertyDefinition
а потом компильнуть класс

или можно без компиляции обойтись?
...
Рейтинг: 0 / 0
компиляция класса, созданного программно
    #37246166
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без компиляции точно не получится, потому что дефинишн дефинишном, а работает то .obj
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / компиляция класса, созданного программно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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