Несовместимость с Дельфи у IBX

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Несовместимость с Дельфи у IBX

Сообщение DedFrend »

Стал переносить довольно большой проект с Дельфи на Лазаря и напоролся на довольно простую, но неприятную вещь.
Если присваивать в компонентах IBTable целому полю базы строку с пробелами после числа, то в Delphi присваивается без проблем, а в Лазаре
вызывает исключение 'invalid integer' .
т.е. оператор

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

 MyTable['INTFIELDNAME'] := '5    '
в дельфи выполняется нормально, а в Лазаре вызывает исключение.
Полез смотреть код - он практически одинаковый. В обоих вариантах компонент ibx вызывается val(str, value, ErrCode).
И в Дельфи и в Лазаре при такой строке возвращает ненулевой ErrCode, но в Дельфи, тем не менее, присваивает Value правильное значение 5,
а в Лазаре присваивает 0. Почему в Дельфи не происходит исключение, честно говоря, не понял.
И, честно говоря, не понимаю почему функции val не нравятся числа с пробелами.
Ответить