Отладка приложений с технологией dbExpress
Наряду с обычными методами отладки исходного кода, в dbExpress существует возможность контроля запросов, проходящих на сервер через соединение. Для этого используется компонент TSQLMonitor.
Через свойство:
property SQLConnection: TSQLConnection;
…компонент связывается с отлаживаемым соединением. Затем компонент включается установкой Active = True.
Теперь во время выполнения приложения сразу после открытия соединения свойство:
property TraceList: TStrings;
…будет заполняться информацией обо всех проходящих командах. Содержимое этого списка можно сохранить в файле при помощи метода:
procedure SaveToFile(AFileName: string);
Эту же информацию можно автоматически добавлять в текстовый файл, определяемый свойством:
property FileName: string;
…но только тогда, когда свойство:
property AutoSave: Boolean;
…будет иметь значение True. Свойство:
property MaxTraceCount: Integer;
…определяет максимальное число контролируемых команд, а также управляет процессом контроля. При значении – 1 ограничения снимаются, а при значении 0 контроль останавливается. Текущее число проверенных команд содержится в свойстве:
property TraceCount: Integer;
Перед записью команды в список вызывается метод-обработчик:
TTraceEvent = procedure(Sender: TObject; CBInfo: pSQLTRACEDesc; var LogTrace: Boolean) of object; property OnTrace: TTraceEvent;
…а сразу после записи в список вызывается:
TTraceLogEvent = procedure (Sender: TObject; CBInfo: pSQLTRACEDesc) of object; property OnLogTrace: TTraceLogEvent;