Не блокирующий кверик

отредактировано May 2010 Раздел: FastReport 4.0
Привет.

Помогите пожалуйста.

Столкнулся с проблемкой.

Использую компоненты ODAC 6.5 для работы с Oracle.

Проблемка такова. Одаковский кверик в неблокирующем режиме отрабатывает команду Open не так как в обычном режиме. Т.е. возврат из команды происходит мгновенно - и пока кверик не отработается полностью датасет пустой.

Эта проблемка проявляется в том, что фаст репорт мгновенно строит отчет, однако он пуст ))))
Я так понимаю, что просто фаст репорт дает команду Open, команда мгновенно возвращает управление и фаст репорт строит отчет дальше по полученныйм данным.



Помогите пожалуйста. Мне нужно как то сделать так, чтобы фаст репорт дожидался пока кверик вернет данные
(это делается проверкой while Query.Executing do sleep (...) Application.ProcessMessages - после того как дана команда Open). Есть ли такая возможность у фаст-репа ? Как бы этому его обучить.



Я вижу одну возможность пока - ManualBuild. Но мне бы не хотелось к нему прибегать...

Дело в том, что отчет весьма сложный, у него куча бендов, и вся логика того, какой бенд показывает уже реализована в скипте отчета.... Если я перейду на ManualBuild - придется всю эту логику переносить в обработчик OnManualBuild.

Мне бы не хотелось этого - если есть какая то другая возможность.


Можете подсказать что можно сделать ?

Комментарии

  • отредактировано 18:23
    Еще вопрос в догонку.

    Как остановить постройку отчета и как отчистить память от того что уже успело там построится....

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.