|
|
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
Приветствую. Есть учетная программа, написаная на Дельфи и использующая Firebird 2.5 через IBX. В IBX пара модулей отредактированные, уже не помню, откуда их взял в свое время или что в них правил по каким-то рекомендациям. В Delphi 2010 с одним моментом проблем не было, в Delphi XE3 возникла. В БД есть домен PRICES Код: sql 1. 2. В Delphi, если создаю persistent поля, то получается TIBBCDField, про который в исходниках IBX написано в комментарии Код: pascal 1. 2. 3. 4. 5. 6. Свойство Size по умолчанию для компонента TIBBCDField равно 8, но в моем случае 4 (в Delphi 2010) и работает нормально. В Delphi XE3 компилируется нормально, но во время работы программы возникает исключение в TDataSet.CheckFieldCompatibility в строчках Код: pascal 1. 2. 3. Исправляю в свойствах поля свойство Size на 4, компилируется, работает без ошибок, но потом, то ли при сохранении, то ли в какой-то еще момент размер снова становится 8 и появляется эта ошибка. Project LesDb.exe raised exception class EDatabaseError with message 'ibqDevices: Size mismatch for field 'Цена, у.е.', expecting: 8 actual: 4'. Никто не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:01 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
s62Исправляю в свойствах поля свойство Size на 4, компилируется, работает без ошибок, но потом, то ли при сохранении, то ли в какой-то еще момент размер снова становится 8 и появляется эта ошибка.То есть появляется при следующей (одной из следующих) компиляций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:03 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
s62, точнее в процессе работы программы после компиляции, как описано в первом сообщении - когда открывается датасет (например при открытии окна), в котором есть такое поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:05 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
s62, Устанавливай значение в TDataSet.AfterOpen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:19 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_s62, Устанавливай значение в TDataSet.AfterOpenСпасибо за наводку, AfterOpen не помогло, а BeforeOpen помогло. Сейчас попробую со всеми датасетами. Вот не понял пока причину, откуда это берется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:29 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
s62, FB не знаю толком и не знаю, что такое CREATE DOMAIN PRICES AS NUMERIC(14,4); Похоже на ТИП ДАННЫХ с фиксированной точкой Попробуй в FB представить его в удобоваримый дельфийский тип. Напр., Extended, String, BCD, парой целых(до и после запятой) Вьюшкой, функцией, что там у FB есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 16:50 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
Gator, да, это тип данных с фиксированной точкой, у меня в программе его значения присваиваются переменным типа Currency. Использую для цен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 17:00 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
s62В IBX пара модулей отредактированные, уже не помню, откуда их взял в свое время или что в них правил по каким-то рекомендациям А взять оригинальные исходники и диффом пройтись по своим, не вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 11:14 |
|
||
|
Firebird numeric(14, 4) - проблемы с IBX
|
|||
|---|---|---|---|
|
#18+
Докs62В IBX пара модулей отредактированные, уже не помню, откуда их взял в свое время или что в них правил по каким-то рекомендациям А взять оригинальные исходники и диффом пройтись по своим, не вариант?Проходил когда-то, но это не так важно в данной теме, эти немногочисленные изменения касаются других вещей (глянул сейчас, там на самом деле одно место, касающееся строкового поля, и имя клиентской библиотеки заменено на fbclient). Просто написал об этом для полноты описания ситуации. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 13:15 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39833905&tid=2039296]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 365ms |

| 0 / 0 |
