Изменения и улучшения

1. В TpFIBDatabase добавлено событие OnIdleConnect:

TOnIdleConnect = procedure (Sender: TFIBDatabase; IdleTicks: Cardinal; var Action: TActionOnIdle) of object;

где TActionOnIdle = (aiCloseConnect, aiKeepLiveConnect);

Событие возникает, если подключение не используется в течение периода, указанного в свойстве TimeOut. Задав значение параметра Action в обработчике события, вы можете либо закрыть подключение, либо оставить его активным.

2. В коде библиотеки заменено использование компонента TTimer на аналогичный. Стандартный класс TTimer оказался не безопасным при использовании в потоках.

3. В TpFIBDataSet добавлены новые события: OnReadBlobField: TonBlobFieldProcessing и OnWriteBlobField: TonBlobFieldProcessing,

где TonBlobFieldProcessing = procedure (Field: TblobField; BlobSize: integer; Progress: integer; var Stop: boolean);

Обработчик события вызывается при чтении блоб-поля из базы данных и при записи блоб-поля в базу. Параметр Progress показывает процент загрузки блоб-поля, BlobSize – размер данных в блоб-поле, а указав параметр Stop равным True, вы можете прервать процесс загрузки.

4. В компонент pFIBClientDataSet добавлены методы Commit и RollBack.

5. В компоненте TpFIBDataSet в свойство AutoUpdateOptions добавлена опция UseReturningFields. Если вы укажите ее равной True, то при генерации запросов UpdateSQL и InsertSQL будет использоваться конструкция RETURNING, что позволит получать измененную на сервере запись (сразу после вставки или обновлении) без вызова метода Refresh. Опция работает только начиная с Firebird 2.0 и принимает следующие значения:

rfAll
- включать в секцию RETURNING все поля;
rfKeyFields
- включать в секцию RETURNING только ключевые поля;
rfBlobFields
- включать в секцию RETURNING блоб-поля.

6. Юникодные поля TpFIBDataSet стали совместимыми с компонентом TСlientDataSet.

Исправленные ошибки:

1. Не сохранялись опция poFreeHandlesAfterClose в свойстве TpFIBDataSet.Options и опция qoFreeHandleAfterExecute в свойстве TpFIBQuery.Options.

2. В Delphi/C++ Builder 2009 исправлена ошибка с неверным размером клиентских полей при работе с InterBase и Firebird версии младше 2. Проявлялась при директиве {$DEFINE UNICODE_TO_STRING_FIELDS}

3. Исправления в методе TpFIBScripter.ExecuteFromFile.

4. Исправлена ошибка в методе Locate в версии для Delphi/C++ Builder 2009. Проявлялась при опциях поиска [loCaseInsensitive, loPartialKey].

5. Исправлена ошибка при работе с блоб-полями, проявлявшаяся только с Firebird 2.5, в случае если заполненное блоб-поле сначала очищали и только после этого заполняли.

6. Исправлена ошибка «Malformed string» в версии для Delphi/C++ Builder 2009, возникавшая при попытке записать текстовое блоб-поле при юникодным подключением к базе данных.

7. В версии для Delphi/C++ Builder 2009 не выполнялся метод TpFIBTransaction.SetSavePoint. Исправлено.

8. Восстановлена совместимость GUID-полей с полями TСlientDataSet.

9. В версии для Delphi/C++ Builder 2009 исправлена ошибка в Locate по GUID-полям.

10. В версии для Delphi/C++ Builder 2009 исправлена ошибка при передаче параметров в MIDAS-приложениях.

Описание для анонса: Опубликована новая сборка FIBPlus 6.9.6 для Delphi 5-7, BDS 2005-2007, а также Rad Studio 2009.
Специальные цены для ex-USSR (кроме стран ЕС):

235 Euro
1500 руб. для физ. лиц
3600 руб. для юр. лиц

Скидки при покупке нескольких копий!

Навигация



...сейчас пытаюсь понять как насчет устойчивости и предсказуемости работы - это гораздо важнее. пока претензий нет - даже подозрительно 8-)... >>

Andrey V. Sorokin
Раздел для покупателей
Получение полных версий и обновлений. Перейти в Customer's Center
Сайт по Delphi: ежедневные ИТ-новости, статьи, документация, компоненты, конкурсы, юмор...