powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Fastreport 2.5 и многопоточность
14 сообщений из 14, страница 1 из 1
Fastreport 2.5 и многопоточность
    #35354257
мороз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос немного не сюда, но поддержка FastReport опять молчит (((

заранее спасибо за ответ.

Задача : Необходимо готовить отчет в отдельном потоке (используя класс TThread)

в поиске по форуму (FastReport) нашел информацию об использовании след. кода (для версии 4) :
Report.EngineOptions.ReportThread := Self ; (self - текущий поток)
Report.EngineOptions.EnableThreadSafe := True;


НО в своей версии 2,5 такого найти не могу.

Есть ли возможность пользоваться подготовкой FASTREPORT 2,5 в потоках, и КАК ?????

потому как стандартное использование класса TThread не помогает :

procedure TThreadReportFastRep.Execute;
begin
inherited;

.......
FfrReport.PrepareReport;
.......

end;

- FfrReport создается в потоке
- при запуске без потока все работает отлично
- при использовании TThread и запуске нескольких отчетов (один запускается нормально)
fastReport коматозит по разному
постоянная ошибка, что компонент (источник данных (Query)) уже создан
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #35354301
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уж сколько раз было сказано народу не использовать встроенные БД-объекты.
Вы хотите "готовить" отчетов в несколько птоков одновременно? А ресурсы, ими
используемые (те же компоненты), потоко-независимы, общие не используются?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #35354406
мороз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы сказали:
Уж сколько раз было сказано народу не использовать встроенные БД-объекты.

? имеются ввиду БД-объекты встроенные в компонент отчета?

используется компонент (FastReport), со встроенным компонентом запроса,
у запроса свойства DatabaseName, и SessionName
для каждого потока уникальны

текст запроса формируется динамически, передается в компонент


1 отчет в фоне отрабатывается нормально, больше 1 , глюки
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #35354677
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мороз> имеются ввиду БД-объекты встроенные в компонент отчета?

Да.

мороз> для каждого потока уникальны

Это как?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #35354743
мороз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
мороз> имеются ввиду БД-объекты встроенные в компонент отчета?

Да.

мороз> для каждого потока уникальны

Это как?


Posted via ActualForum NNTP Server 1.4

вcтроенный запрос - BDE
чтобы выполнять его в потоке для него каждый раз создаются (в потоке)
компоненты DataBase и Session с уникальным именем

встроенный в компонент отчета запрос используется потому, что
при создании в Runtime источника данных (не встроенного) ,
будь то ADOQuery или Query(BDE) fastreport не работает

типа
qReport := TADOQuery.Create(self);//если убрать эту строку и создать компонент в дизайнере все работает

frReport := TfrReport.Create(self);
frDataSet := TfrDBDataSet.Create(Self);

qReport.SQL.Text := .....


frReport.LoadFromFile....

qReport.Close;
qReport.Open;


frDataSet.DataSet := qReport;
frReport.Dataset := frDataSet;


frReport.PrepareReport;
frReport.ShowPreparedReport;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Fastreport 2.5 и многопоточность
    #40085659
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мороз
Вопрос немного не сюда, но поддержка FastReport опять молчит (((

заранее спасибо за ответ.

Задача : Необходимо готовить отчет в отдельном потоке (используя класс TThread)

в поиске по форуму (FastReport) нашел информацию об использовании след. кода (для версии 4) :
Report.EngineOptions.ReportThread := Self ; (self - текущий поток)
Report.EngineOptions.EnableThreadSafe := True;


НО в своей версии 2,5 такого найти не могу.

Есть ли возможность пользоваться подготовкой FASTREPORT 2,5 в потоках, и КАК ?????

потому как стандартное использование класса TThread не помогает :

procedure TThreadReportFastRep.Execute;
begin
inherited;

.......
FfrReport.PrepareReport;
.......

end;

- FfrReport создается в потоке
- при запуске без потока все работает отлично
- при использовании TThread и запуске нескольких отчетов (один запускается нормально)
fastReport коматозит по разному
постоянная ошибка, что компонент (источник данных (Query)) уже создан


Прошу прощения за некропостинг, но столкнулся с такой же проблемой.
Правильно ли я понимаю, что ответ так и не нашелся?
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40085719
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Colt
Прошу прощения за некропостинг, но столкнулся с такой же проблемой.
Правильно ли я понимаю, что ответ так и не нашелся?

Они даже в четверке эту проблему не решили. Письма в их адрес были благополучно проигнорированы, а далее я перестал этим пользоваться. Может в пятерке и выше пофиксили.
Там детская болезнь вида Application.ProcessMessages.
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40085730
_Den_Z_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Colt,
Адаптации двойки для работы с потоками не производилось. ЕЕ поддержка закончилась раньше, чем появилась необходимость.
Насколько сложно адаптировать, сказать не могу, не застал двойку, кода ее не видел.
Возможно это просто убрать ProcessMessages, но скорее всего еще будет и ряд глобальных объектов ...

wadman,
В 4ке было уже убрано.

Но нормальная синхронизация для работы с RichView, chart и тд. появилась только в 5-6(точно не помню).
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40085747
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Den_Z_
В 4ке было уже убрано.

У нас была официальная 4-я версия и обновления.
Пятерка уже вышла, а не все processMessages были заглушены в четверке.
14604664
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40085806
_Den_Z_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

Пробежал по исходникам 4ки в гите, вроде все processMessages заглушены.
Это последние билды от 2014-2015.
Вероятно, вы наткнулись на них раньше, чем они были исправлены.
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40086137
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Den_Z_,

собственно 2 обновления после своих правок я еще скачивал и проверял, а далее уже игнорировал.
Может в итоге и было исправлено. Спорить не буду.
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40086149
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подробные ответы.
По итогу: я правильно понял, что этот косяк исправлен в последних релизах 4 версии, а версию 2.5 уже никто и никогда править не собирается, и надо жить с тем, что есть?
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40086255
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Colt,

Все верно. Они и четверку больше не поддерживают.
...
Рейтинг: 0 / 0
Fastreport 2.5 и многопоточность
    #40086369
_Den_Z_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Colt,
Да. После выхода новой версии старая обычно поддерживается в примерно 6 мес, а критические фиксы примерно год.
Бывает высылаем хотфиксы и на старые версии(5ка, 4ка). К FR2.X таких фиксов нет.

В случае с старой двойкой, проще всего обернуть отчетник в отдельный exe и сделать микросервис, при порождении отдельных процессов проблем скорее всего быть не должно(но на 100% сказать не могу).
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Fastreport 2.5 и многопоточность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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