GoldenSoftwareLtd / gedemin

21 stars 13 forks source link

Еще какая-то ошибка с типами FB3 #4483

Closed yoannawx closed 5 days ago

yoannawx commented 1 week ago

В случае, если переменной (с) присваивается результат выполнения запроса с определением count(l.DOCUMENTKEY):

если с = 0, то при проверке "if c = 0 then" ошибка "Переменная использует не поддерживаемый в VBScript тип программирования объектов".

Пример. База 192.168.0.78/3054:k:\bases\VolkMK\TORG_BAK_2024_06_27_01.fdb Банк и касса - Касса - Приходный ордер Пост позиции, на методе DoAfterPost

image

image

На этой же базе при работе старым ехе состояние переменных такое:

image

На базе под FB2.5 в этом же месте при таком же состоянии переменных (с = 0) ошибки нет.

gsbelarus commented 1 week ago

@Polfath посмотрите из делфи что за тип. скорее всего так получается:

  1. из запроса возвращается INT64
  2. в Res записывается вариант varInt64
  3. VBScript такой тип не поддерживает

надо подумать в какой момент преобразовывать. напрашивается сделать это в обертке для TLB. смотреть если вариант 64 бит, то переделывать в дабл.

и потом надо аналогично все остальные места проверить. например обращение через AsVariant, через Value...

Polfath commented 6 days ago

Сделал