Страница 1 из 2
alter interface + cnf, странная ошибка
Добавлено: 16 май 2008, 05:52
Алексей Терещенко
Пытаюсь скомпилить alter interface, добавив после него cnf (сама cnf-ка рабочая, выдранная из живого интерфейса).
Код: Выделить всё
#component "L_KATORG"
alter interface KATORG ( '');
end.
object 'L_KATORG::KATORG' : InterfaceWindow {
Centered = True;
object TRKATORG : TreeBrowser {
object 'ExtAttr: KATORGIMP,4612239941089124362' : TreeColumn {
...
FieldName = 'ExtAttr: KATORGIMP,4612239941089124362';
...
} // ExtAttr: KATORGIMP,4612239941089124362 : TreeColumn
} // TRKATORG : TreeBrowser
} // L_KATORG::KATORG : InterfaceWindow
При компиляции вылазит ошибка:
Ошибка интерпретации имени поля:
"ExtAttr: KATORGIMP,4612239941089124362"
потом:
Runtime error 144 (ошибка в структуре ресурса вычисляемых выражений) in streams_.dll at 0003BD35
Другие alter interface'ы, в которых нет "ExtAttr:", компилятся без проблем. Даже с конструкцией типа "ExtClass: ..." компилятся, а вот с "ExtAttr:" - нет. Что за глюк, как бороться?
Галактика 8.10, Атлантис 5.3
Добавлено: 16 май 2008, 09:41
edward_K
attrnam подгрузите в ту базу на которой компилите.
Добавлено: 16 май 2008, 10:34
Алексей Терещенко
Не совсем понял, что надо сделать.
Добавлено: 16 май 2008, 10:39
Алексей Терещенко
Теперь я столкнулся с такой проблемой. Компилю файл:
Код: Выделить всё
#component "L_BASEDOC"
alter interface VSCHETB ( '');
end.
// снабжение - документы - до на закупку - enter
object 'L_BASEDOC::VSCHETB' : InterfaceWindow {
object WVSCHET : InterfaceWindow {
object SCVSCHET : Screen {
object 'STXOGETFIELD(''SPKAU'',''NAME'',COTXOGETEXTATTR(''BASEDOC'',''ВИДЫ РАСЧЕТОВ'',BASEDOC.NREC))' : PanelInputLine {
Original = False;
Visible = True;
Hidden = False;
Protect = True;
Skip = True;
UpCase = False;
Password = False;
NoValidCheck = True;
PickButton = False;
CalcButton = False;
Calendar = False;
LessNull = False;
StatusCtx = 16;
Strings = ( // Список строк
)
StringsNull = 0;
HelpLine = '';
FieldName = 'STXOGETFIELD(''SPKAU'',''NAME'',COTXOGETEXTATTR(''BASEDOC'',''ВИДЫ РАСЧЕТОВ'',BASEDOC.NREC))';
DefaultValue = '';
Origin_X = 423;
Origin_Y = 300;
Size_X = 299;
Size_Y = 14;
TextAlign = 0;
SpinButton = False;
SpinInc = 0.0;
SpinMin = 0.0;
SpinMax = 0.0;
NoStatic = False;
EnumValues = ( // Список целых
)
PassiveFormat = '';
Points = 0;
MaxLen = 255;
PrecisionVarName = '';
HistoryID = 0;
DropTarget = False;
DropSource = False;
}
object 'LbSTXOGETFIELD(''SPKAU'',''NAME'',COTXOGETEXTATTR(''BASEDOC'',''ВИДЫ РАСЧЕТОВ'',BASEDOC.NREC))' : Label {
Original = False;
Title = '(виды расчетов)';
Visible = True;
Hidden = False;
HelpLine = '';
Origin_X = 423;
Origin_Y = 280;
Size_X = 98;
Size_Y = 14;
}
} // SCVSCHET : Screen
} // WVSCHET : InterfaceWindow
} // L_BASEDOC::VSCHETB : InterfaceWindow
//-----------------------------------------------------------------------------
Атлантис делает вот так:
Runtime error 213 (rtl: выход за границы коллекции) in streams_.dll at 0002AD1D
Не знаю, что дальше делать.
Добавлено: 16 май 2008, 10:56
edward_K
вы на какой базе компилите? на той где есть этот атрибут или на какой то тестовой?
Добавлено: 16 май 2008, 11:03
Алексей Терещенко
Где есть, конечно.
Добавлено: 16 май 2008, 12:09
edward_K
обычно рантаймить где нет.
проверте лишний раз.
Еще компилятор не любить больших файлов.
лучше компилить отдельно vip (один фейс на файл) и потом cnf(тоже так же). Да и рес не забудьте грохнуть - а то не то докомпилить будете
- в бантик пропишите. Далее делайте ошибку в коде до тех пор пока не свалитесь, прежде получения сообщения об ошибке - кусок это сюды и проверте на последних патчах в конфигураторе мож объекта уже и нет куда вы поле добавляете.
Добавлено: 20 май 2008, 04:11
Алексей Терещенко
Пробовал компилить на живой базе, в которой есть вся необходимая информация и из которой эти cnf-ки собственно взяты. Там они работают прекрасно. Так что нехватка данных или отсутствие объекта исключаются. Пробовал компилить отдельно vip. Оказалось, что до cnf дело даже не доходит. Компилятор падает на vip-файле, состоящем всего лишь из таких строк:
Код: Выделить всё
#component "L_BASEDOC"
alter interface VSCHETB;
end.
Потом вставлял левый символ (знак минус) через каждое слово и перекомпиливал. Получилось, что так еще компилится и выдает ошибку:
Код: Выделить всё
#component "L_BASEDOC"
alter interface - VSCHETB;
end.
А вот так уже рантайм:
Код: Выделить всё
#component "L_BASEDOC"
alter interface VSCHETB -;
end.
Причем, рантайм появляется не для всех фейсов. Конкретно в моем случае успешно компилятся L_MCU::KATMC, L_KATORG::KATORG, F_PLPOR::PLPOR, F_SFO::EDITNORMSFO, а падают L_BASEDOC::VSCHETB, L_DOGOVOR::DOGOVOR.
Добавлено: 20 май 2008, 15:25
edward_K
1. Не все фейсы разрешены для докомпиляции.
2. на каждый alter свой файл - я пробовал как то 2 в одном сделать - тоже упало, а по отдельности(но в одном проекте ) прокатило.
опять же сначала alter потом cnf
Добавлено: 21 май 2008, 02:48
Алексей Терещенко
Именно так. Падает. Уже нет времени воевать с этими глюками. Сделал по старинке через crf.
Вопрос закрыт, спасибо.
Добавлено: 21 май 2008, 13:20
Alpiton
Может дело в несовпадении патчей Галактики и Атлантиса?
Добавлено: 21 май 2008, 15:34
edward_K
да. Я месяц назад пробовал докомпилять L_DOGOVOR::DOGOVOR - без проблем. Тока я делал это для теста - так что на сегод. момент не могу сказать точно.
Re: alter interface + cnf, странная ошибка
Добавлено: 21 мар 2013, 12:37
RAJAH
В коде формы никаких alter interface нету. Огрёб такую же ошибку (только адрес 000433D6)...
Алексей Терещенко писал(а):
Runtime error 144 (ошибка в структуре ресурса вычисляемых выражений) in streams_.dll at 0003BD35
До неё появляется окошко:
---------------------------
Ошибка
---------------------------
Внутренняя ошибка - объект не найден в ресурсе
---------------------------
ОК
---------------------------
После описания view и функций у меня сразу идёт
Код: Выделить всё
.begin
RunInterface('M_TPP::iTPM', 0, 2, 4, 4, 0, 0, 1);
...
Однако интерфейс не появляется, т.е. выполнение формы даже не начинается.
Все временные файлы удаляю, ресурсы свои отключаю. Что означает такая ошибка?
Re: alter interface + cnf, странная ошибка
Добавлено: 21 мар 2013, 13:39
Polimer
RAJAH писал(а):... ресурсы свои отключаю.
А если попробовать их удалить? Есть подозрение, что они все равно "участвуют" в компиляции.
Re: alter interface + cnf, странная ошибка
Добавлено: 21 мар 2013, 14:01
RAJAH
Polimer писал(а):в компиляции
Забыл уточнить: компилируется нормально, ошибка выходит при запуске отчёта.