|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Вопрос немного не сюда, но поддержка 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)) уже создан ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 14:59 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Уж сколько раз было сказано народу не использовать встроенные БД-объекты. Вы хотите "готовить" отчетов в несколько птоков одновременно? А ресурсы, ими используемые (те же компоненты), потоко-независимы, общие не используются? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 15:16 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
вы сказали: Уж сколько раз было сказано народу не использовать встроенные БД-объекты. ? имеются ввиду БД-объекты встроенные в компонент отчета? используется компонент (FastReport), со встроенным компонентом запроса, у запроса свойства DatabaseName, и SessionName для каждого потока уникальны текст запроса формируется динамически, передается в компонент 1 отчет в фоне отрабатывается нормально, больше 1 , глюки ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 15:52 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
мороз> имеются ввиду БД-объекты встроенные в компонент отчета? Да. мороз> для каждого потока уникальны Это как? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 17:06 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам мороз> имеются ввиду БД-объекты встроенные в компонент отчета? Да. мороз> для каждого потока уникальны Это как? 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; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 17:23 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
мороз Вопрос немного не сюда, но поддержка 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)) уже создан Прошу прощения за некропостинг, но столкнулся с такой же проблемой. Правильно ли я понимаю, что ответ так и не нашелся? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2021, 10:56 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Colt Прошу прощения за некропостинг, но столкнулся с такой же проблемой. Правильно ли я понимаю, что ответ так и не нашелся? Они даже в четверке эту проблему не решили. Письма в их адрес были благополучно проигнорированы, а далее я перестал этим пользоваться. Может в пятерке и выше пофиксили. Там детская болезнь вида Application.ProcessMessages. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2021, 15:01 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Colt, Адаптации двойки для работы с потоками не производилось. ЕЕ поддержка закончилась раньше, чем появилась необходимость. Насколько сложно адаптировать, сказать не могу, не застал двойку, кода ее не видел. Возможно это просто убрать ProcessMessages, но скорее всего еще будет и ряд глобальных объектов ... wadman, В 4ке было уже убрано. Но нормальная синхронизация для работы с RichView, chart и тд. появилась только в 5-6(точно не помню). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2021, 15:33 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
_Den_Z_ В 4ке было уже убрано. У нас была официальная 4-я версия и обновления. Пятерка уже вышла, а не все processMessages были заглушены в четверке. 14604664 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2021, 16:34 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
wadman, Пробежал по исходникам 4ки в гите, вроде все processMessages заглушены. Это последние билды от 2014-2015. Вероятно, вы наткнулись на них раньше, чем они были исправлены. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2021, 19:27 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
_Den_Z_, собственно 2 обновления после своих правок я еще скачивал и проверял, а далее уже игнорировал. Может в итоге и было исправлено. Спорить не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2021, 10:11 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Спасибо за подробные ответы. По итогу: я правильно понял, что этот косяк исправлен в последних релизах 4 версии, а версию 2.5 уже никто и никогда править не собирается, и надо жить с тем, что есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2021, 10:36 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Colt, Все верно. Они и четверку больше не поддерживают. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2021, 15:35 |
|
Fastreport 2.5 и многопоточность
|
|||
---|---|---|---|
#18+
Colt, Да. После выхода новой версии старая обычно поддерживается в примерно 6 мес, а критические фиксы примерно год. Бывает высылаем хотфиксы и на старые версии(5ка, 4ка). К FR2.X таких фиксов нет. В случае с старой двойкой, проще всего обернуть отчетник в отдельный exe и сделать микросервис, при порождении отдельных процессов проблем скорее всего быть не должно(но на 100% сказать не могу). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2021, 03:07 |
|
|
start [/forum/topic.php?fid=58&msg=40085719&tid=2037154]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 246ms |
total: | 507ms |
0 / 0 |