Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ReportListener прерывание рендеринга / 2 сообщений из 2, страница 1 из 1
22.05.2007, 10:51
    #34541518
Pr0teus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ReportListener прерывание рендеринга
Есть форма, в Init'е которой делаются следующие действия

Код: plaintext
1.
2.
3.
4.
5.
.ReportObject = NEWOBJECT('ReportListener')
.ReportObject.ListenerType =  3 
SELECT (lcAlias)

REPORT FORM (.ReportForm) OBJECT .ReportObject

Беда в том, что если в текущем Alias'е много записей (у меня более 150 000), то выполнение REPORT FORM (.ReportForm) OBJECT .ReportObject выливается в получасовой марафон, который пока не ясно как прервать. Может кто знает, как прекратить данное безобразие по ESC или по какой другой кнопке.
...
Рейтинг: 0 / 0
22.05.2007, 13:44
    #34542199
Pr0teus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ReportListener прерывание рендеринга
Пока придумал такое решение

Делаю класс на основе RenderListener
Свойство LisyenerType выставляю в 0

В методе Render пишу следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
llFlag = GetAsyncKeyState(0x1B)

IF llFlag <>  0  THEN
  THIS.
  THIS.CancelReport()
ELSE
  DODEFAULT(nFRXRecno, nLeft, nTop, nWidth, nHeight, nObjectContinuationType, cContentsToBeRendered, GDIPlusImage)
ENDIF

Далее предыдущий код превращается в

Код: plaintext
1.
2.
3.
4.
5.
.ReportObject = NEWOBJECT('MyReportListener')
.ReportObject.ListenerType =  3 
SELECT (lcAlias)

REPORT FORM (.ReportForm) OBJECT .ReportObject
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ReportListener прерывание рендеринга / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]