На этом шаге мы рассмотрим компонент TDBProgress.
Компонент использует Callback-функции IDAPI для сообщения о ходе
выполнения длительных операций с БД и (в 32-битной версии) для трассировки обращений
BDE к SQL-серверам. Вы можете указать курсор с помощью свойства WaitCursor,
который будет устанавливаться при операциях с БД, занимающих заметное время (более 1 сек.).
Текстовые сообщения, посылаемые IDAPI будут отображаться на элементе, указанном свойстом MessageControl.
Свойство Gauge устанавливает какой элемент будет показывать процент выполнения операции,
при наличии данных об этом. В 32-битной версии вы можете использовать эту компоненту для трассировки
обращений BDE к SQL-серверам с помощью свойств Trace, TraceFlags и
события OnTrace, получая текстовые сообщения, аналогичные тем, которые отображаются утилитой
SQL Monitor из состава Delphi 2.0.
Примечание. Не все операции предоставляют информацию о ходе своего выполнения.
Ничего не сообщается, например, при открытии таблицы. При выполнении Query
посылаются сообщения о выполняемом действии. Процент сообщается при индексации, пакетных
операциях, а также ряде других действий. Кроме того, не все драйверы поддерживают
Callback-функции. По крайней мере их поддерживают dBase и Paradox.
Для Delphi 2.0 в качестве прогресс-индикатора может использоваться не TGauge, а
TProgressBar. Для этого нужно удалить точку в {$DEFINE USE_PROGRESSBAR} в RX.INC.
Таблица 1. Свойства компонента TDBProgress
Свойство | Описание |
---|---|
const WaitCursor: TCursor = crHourGlass; | Константа задает идентификатор курсора, используемый процедурой StartWait. При вызове процедуры курсор мыши на экране принимает форму, определенную константой WaitCursor. |
property MessageControl: TControl; | Указывает на элемент управления, который будет отображать сообщения BDE о текущей операции с БД. Для отображении текста сообщения используется свойство Caption. |
property Gauge: TControl; | Указывает на прогресс-индикатор, который будет отображать процент выполнения текущей операции с БД, сообщенный BDE. В 16-битной версии Delphi может быть использован компонент TGauge. В 32-битной версии может быть также использован компонент TProgressBar. |
property Trace: Boolean; | Свойство задает, будет ли производиться трассировка обращений BDE к SQL-серверу в соответствии с заданным значением свойства TraceFlags. При значении Trace=True, при каждом обращении BDE к серверу, относящимся к одной из категорий TraceFlags, будет происходить вызов события OnTrace. |
property OnTrace: TOnTraceEvent; | Событие возникает при трассировке обращений BDE к SQL-серверу при установленном в True значении свойства Trace. |
На следующем шаге мы рассмотрим компонент TDBSecurity.