Fib+ и Bcd поля в кубе

отредактировано December 2008 Раздел: FastCube
При использовании FastCube с pFIBDataSet стабильно не хочет работать с BCD полями.
Выскакивает ошибка на строке 5493 в fcCube.pas:
D := BCDToDouble(TBCD(AValue^));

использую Fib+ 6.25.0 и FasCube 1.4.3
Firebird 1.5.3
Delphi 7

поля на сервере описаны как DECIMAL(15,2)

Кто-то сталкивался с таким? Есть готовое решение?

Торгашов Александр
alext@popu.lisgroup.net

Комментарии

  • отредактировано 15:36
    Приветствую.

    Сейчас проверю, отвечу.

    С уважением, Олег.
  • отредактировано 15:36
    Приветствую.

    Нашел особенность в работе с BCD полями в Fib+.
    Исправление в fcCube.pas:
    в procedure TfcArrayUniqueValues.AddValue;
    заменить строку
    GetMem(ATempPointer, FDataSet.Fields[DT.Index].DataSize);
    на
    if DT.FieldType = ftBCD then
    GetMem(ATempPointer, SizeOf(TBCD))
    else
    GetMem(ATempPointer, FDataSet.Fields[DT.Index].DataSize);

    Сообщите пожалуйста о результате.

    С уважением, Олег.
  • отредактировано 15:36
    Спасибо, помогло.
    С наступающим Новым Годом!

    Торгашов Александр
    написал: »
    Приветствую.

    Нашел особенность в работе с BCD полями в Fib+.
    ...
    Сообщите пожалуйста о результате.

    С уважением, Олег.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.