alter interface + cnf, странная ошибка

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

alter interface + cnf, странная ошибка

Сообщение Алексей Терещенко »

Пытаюсь скомпилить 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
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

attrnam подгрузите в ту базу на которой компилите.
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Сообщение Алексей Терещенко »

Не совсем понял, что надо сделать.
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Сообщение Алексей Терещенко »

Теперь я столкнулся с такой проблемой. Компилю файл:

Код: Выделить всё

#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
Не знаю, что дальше делать.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

вы на какой базе компилите? на той где есть этот атрибут или на какой то тестовой?
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Сообщение Алексей Терещенко »

Где есть, конечно.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

обычно рантаймить где нет.
проверте лишний раз.
Еще компилятор не любить больших файлов.
лучше компилить отдельно vip (один фейс на файл) и потом cnf(тоже так же). Да и рес не забудьте грохнуть - а то не то докомпилить будете :) - в бантик пропишите. Далее делайте ошибку в коде до тех пор пока не свалитесь, прежде получения сообщения об ошибке - кусок это сюды и проверте на последних патчах в конфигураторе мож объекта уже и нет куда вы поле добавляете.
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Сообщение Алексей Терещенко »

Пробовал компилить на живой базе, в которой есть вся необходимая информация и из которой эти 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.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. Не все фейсы разрешены для докомпиляции.
2. на каждый alter свой файл - я пробовал как то 2 в одном сделать - тоже упало, а по отдельности(но в одном проекте ) прокатило.
опять же сначала alter потом cnf
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Сообщение Алексей Терещенко »

Именно так. Падает. Уже нет времени воевать с этими глюками. Сделал по старинке через crf.

Вопрос закрыт, спасибо.
Alpiton
Посетитель
Сообщения: 40
Зарегистрирован: 18 апр 2006, 09:19

Сообщение Alpiton »

Может дело в несовпадении патчей Галактики и Атлантиса?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

да. Я месяц назад пробовал докомпилять L_DOGOVOR::DOGOVOR - без проблем. Тока я делал это для теста - так что на сегод. момент не могу сказать точно.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: alter interface + cnf, странная ошибка

Сообщение 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);
...
Однако интерфейс не появляется, т.е. выполнение формы даже не начинается.
Все временные файлы удаляю, ресурсы свои отключаю. Что означает такая ошибка?
Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Re: alter interface + cnf, странная ошибка

Сообщение Polimer »

RAJAH писал(а):... ресурсы свои отключаю.
А если попробовать их удалить? Есть подозрение, что они все равно "участвуют" в компиляции.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: alter interface + cnf, странная ошибка

Сообщение RAJAH »

Polimer писал(а):в компиляции
Забыл уточнить: компилируется нормально, ошибка выходит при запуске отчёта.
Ответить