Выполнение отчётов с диалогами в потоке
Здравствуйте, потратил уже два дня на то чтобы заставить выполняться отчёты FastReport в потоке. Если отчёт без диалогов, то всё прекрасно, но таких отчётов единицы, в основном в отчёте есть диалог или даже несколько. При закрытии диалогов получаю жестокий AV(Access Violation).
Для того чтобы подтвердить тот факт что отчёты с диалогами в потоках не работают специально набросал проектик на чистом VCL + FastReport, который исключает вариант несовместимости компонентов. Проблема именно в FastReport. Просьба к тем , кто знает решение проблемы посмотреть проект и указать причину ошибки ,буду премного благодарен.
зы:Проект написан на Delphi2007 и FastReport 4.7.5
Для того чтобы подтвердить тот факт что отчёты с диалогами в потоках не работают специально набросал проектик на чистом VCL + FastReport, который исключает вариант несовместимости компонентов. Проблема именно в FastReport. Просьба к тем , кто знает решение проблемы посмотреть проект и указать причину ошибки ,буду премного благодарен.
зы:Проект написан на Delphi2007 и FastReport 4.7.5
Комментарии
Так же frxPreview.RefreshReport использовать в вашем случае не нужно, этот метод перестраивает отчет заново(т.е. у вас один и тот же отчет будет строиться дважды).
Для вывода подготовленного отчета лучше сделать так:
в остальном : скачал самый новый билд (уже 4.9.94) и всё равно не работает
[code]
destructor TfrxDialogPage.Destroy;
begin
{$IFNDEF NO_CRITICAL_SECTION}
frxCS.Enter;
{$ENDIF}
try
FForm.OnActivate:=nil;//костыль, предотвращающий повторный вызов OnActivate в деструкторе из потока
inherited;
FForm.Free;
finally
{$IFNDEF NO_CRITICAL_SECTION}
frxCS.Leave;
{$ENDIF}
end;
end;
Новый билд должен был собраться ночью, но по тех. причинам не собрался.
Сегодня вечером - завтра должен собраться новый билд.