Как отключить использование глобального списка датасетов при использовании TfrxReport в потоке ?

Question: Как отключить использование глобального списка датасетов при использовании TfrxReport в потоке ?

Answer:

По умолчанию FR использует глобальный список датасетов который инициализируется в модуле frxClass, при создании экземпляра TfrxDBDataset он добавляется в этот список. В связи с этим не возможно использовать датасеты с одинаковыми именами (даже в разных потоках).
Для использования локального списка датасетов нужно использовать следующий код (начиная с версии 4.5.46):

1
2
3
4
frxReport.EngineOptions.UseGlobalDataSetList := False;
frxReport.EnabledDataSets.Clear();
frxReport.EnabledDataSets.Add(frxDataSet);
frxReport.LoadFromFile(ReportName);