Gedemin TLB.IgsQueryList.Abort
Материал из GedeminWiki
Версия от 15:23, 17 января 2016; SYSDBA (обсуждение | вклад)
From Gedemin TLB.pas
procedure Abort(const AMessage: WideString; APreserveData: WordBool; ARollback: WordBool); safecall;
Unit: Gedemin TLB
Type: procedure
Visibility: public
Member Of: IgsQueryList
Описание
Прерывает построение отчета.
- AMessage
- Сообщение, которое будет показано пользователю. Если задать пустую строку, то построение отчета прервется без вывода на экран каких либо дополнительных окон и сообщений.
- APreserveData
- APreserveData = True -- не очищать BaseQueryList (т.е. не выполнять метод Clear. В таком случае значение параметра ARollback ни на что не влияет).
- ARollback
- Если APreserveData = False, то определяет как завершить транзакцию, на которой выполнялись запросы отчета. Откатить ее (True) или подтвердить (False).
Пример:
Option Explicit Function rp_Main147093837_526525356(OwnerForm) BaseQueryList.Clear Set rp_Main147093837_526525356 = BaseQueryList Dim q Set q = BaseQueryList.Query(BaseQueryList.Add("q", 0)) q.SQL = "SELECT * FROM gd_contact" q.Open ... If ... Then ' что-то пошло не так... BaseQueryList.Abort "Выполнение отчета прервано", False, True Exit Function End If ... End Function
Альтернативный способ "тихо" прервать выполнение отчета -- это вызвать исключение EAbort:
Option Explicit Function rp_Main147093837_526525356(OwnerForm) BaseQueryList.Clear Set rp_Main147093837_526525356 = BaseQueryList Dim q Set q = BaseQueryList.Query(BaseQueryList.Add("q", 0)) q.SQL = "SELECT * FROM gd_contact" q.Open ... If ... Then ' что-то пошло не так... Exception.Raise "EAbort", "" End If ... End Function