Как убрать мигание окна при Preview.RefreshReport?

Здравствуйте, у меня в программе логика/калькуляция считается в делфи, а FR я использую для отображения данных. Данные в компоненты подтягиваются через события компонентов OnAfterData, в которых вызывается пользовательская функция, передаю в неё Component.Tag.

При клике на компонент вызывается вторая пользовательская функция которая открывает окно редактирования значения, меняет значение в калькуляции, после чего я вызываю

  TfrxPreviewForm(frxReport1.PreviewForm).Preview.RefreshReport;

чтобы переподтянуть обновлённые данные калькуляции в компоненты. При этом происходит мигание экрана и ScrollBar переходит в самый верх документа.

Пробовал добавить DoubleBuffered - не помогло. BeginUpdate и EndUpdate не нашёл.

Как мне подтягивать данные в компоненты (вызов OnAfterData для всех компонентов), но при этом избавиться от мигания окна и скрола в верх документа?

Комментарии

  • Lock/Unlock

  • Спасибо за ответ, но это не помогло, как только делаю Unlock, то всё мигает.

    Тогда такой вопрос: как мне без Preview.RefreshReport вызвать событие OnAfterData для всех компонентов в отчёте?

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

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