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

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

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

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

Сообщение DedFrend » 23.09.2023 18:42:56

Стал переносить довольно большой проект с Дельфи на Лазаря и напоролся на довольно простую, но неприятную вещь.
Если присваивать в компонентах IBTable целому полю базы строку с пробелами после числа, то в Delphi присваивается без проблем, а в Лазаре
вызывает исключение 'invalid integer' .
т.е. оператор
Код: Выделить всё
MyTable['INTFIELDNAME'] := '5    '

в дельфи выполняется нормально, а в Лазаре вызывает исключение.
Полез смотреть код - он практически одинаковый. В обоих вариантах компонент ibx вызывается val(str, value, ErrCode).
И в Дельфи и в Лазаре при такой строке возвращает ненулевой ErrCode, но в Дельфи, тем не менее, присваивает Value правильное значение 5,
а в Лазаре присваивает 0. Почему в Дельфи не происходит исключение, честно говоря, не понял.
И, честно говоря, не понимаю почему функции val не нравятся числа с пробелами.
DedFrend
постоялец
 
Сообщения: 156
Зарегистрирован: 25.11.2018 12:21:50

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 108

Рейтинг@Mail.ru