Изменение словаря, чем грозит.
Модераторы: m0p3e, edward_K, Модераторы
Re: Изменение словаря, чем грозит.
Вот если бы было обращение к полям которых нет, тогда ошибка понятна и естественна, но тут обратный случай. Подозреваю, что как раз контрольная сумма и влияет. Вообще когда ошибка выходит? При компиляции или уже в ран-тайме? В любом случае, нужно попробовать добавить поле lot-ом в чистой БД. В Галактике все проверяется только методом проб и ошибок.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Изменение словаря, чем грозит.
То ли я не правильно объясняю, то ли вы меня не так поняли.Возьмем один из методов объектного интерфейса:
Видим, что в методе используется тип TKatMC_p. Смотрим, что за тип такой (определяется в этом же файле!) :
Очевидно, что в моем случае TKatMC_p отличается от TKatMC_p, который определен в L_MCU. Соответственно, отличается и объектный интерфейс. Соответственно отличается и контрольная сумма. Я вижу ситуацию так и ошибка мне кажется вполне понятной и естественной, даже если мы к новому полю тут нигде не обращаемся ). Ошибка проявляется как обычно - при первом обращении к методу объекта oObjMc.
Код: Выделить всё
function KatMC_Default (var _wMC : TKatMC_p;
isMessErr : boolean
) : boolean;
Код: Выделить всё
Type TKatMC_p = Record as table KatMC with x$position;
Re: Изменение словаря, чем грозит.
Да все я понял о чем речь, я тебе про другое говорю. Я говорю о том, что если бы не было изменения контрольной суммы, то контрольная сумма для типа TKatMC_p, возможно, взялась бы от таблицы KatMC. Я не знаю механизма расчета контрольной суммы в Галактике, но как предположение в качестве бреда - для типов record as table контрольная сумма берется от соответствующей таблицы (KatMC в данном случае), а не рассчитывается по какому-то алгоритму, если бы было просто record. Поэтому и написал, что нужно проверять для случая, когда контрольная сумма не менялась.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Изменение словаря, чем грозит.
А почему есть подозрения, что при добавлении поля в саппорте пересчитывается КС словаря? Если выполняется именно тот скрипт, что генерируется, то никаких alter dictionary и обнуления КС не выполняется.
Re: Изменение словаря, чем грозит.
:hz: Но лучше системные вещи в support не делать, я себе это за правило взял. Что касается изменения таблиц без пересчета контрольной суммы, то крюгер пишет что все будет бодрячком (он даже ветку форума закрепил и написал пафосное - "это должен знать каждый"). Но если честно не больно-то я ему доверяю, уж больно часто он сливает. Так что только пробовать и остается. Мне самому это интересно, были планы по изменению таблиц, но теперь наверное откажусь.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Изменение словаря, чем грозит.
а что делать если словарь уже изменен (добавлены свои таблицы и поля в стандартные) и контрольная сумма словаря обнулена?