Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / компиляция класса, созданного программно / 12 сообщений из 12, страница 1 из 1
27.04.2011, 12:36
    #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
27.04.2011, 12:37
    #37235560
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
компиляция класса, созданного программно
P.S. каким способом лучше компилировать?
какие лучше использовать флаги?
...
Рейтинг: 0 / 0
27.04.2011, 12:45
    #37235591
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
компиляция класса, созданного программно
причину понял:
было: d nc.SuperSet("%Library.RegisteredObject, %XML.Adaptor")
стало: d nc.SuperSet("%Library.RegisteredObject,%XML.Adaptor") , т.е. вкрался пробел зараза )))

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

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

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

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

%Dictionary.CompiledProperty
и
%Dictionary.PropertyDefinition

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

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

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

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

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


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