Delphi2010 DBGrid1行选择和frxReport1.Print

时间:2014-07-02 09:35:01

标签: delphi fastreport dbgrid

我有点困惑...... 我有一个典型的程序:

for nJ := 0 to DBGrid1.SelectedRows.Count-1 Do Begin
DBGrid1.DataSource.DataSet.GotoBookmark(pointer(DBGrid1.SelectedRows.Items[nJ]));

*Do some stuff to get data for a report*

frxReport1.LoadFromFile('report.fr3');
frxReport1.PrepareReport();
frxReport1.PrintOptions.Printer := ComboBox1.Text;
frxReport1.Print;

end;

一切都很好,直到我有多个选择(例如2-3行或整个网格)。 在调试模式下,此循环运行一次ok(SelectedRows.Count值为例如3),并且在进行另一次运行后,它每次将Count值设置为0,从而给出访问冲突错误。 它只发生在frxReport1.Print上(与frxReport1.Export(frxPDFExport1)相同)。 如果我删除任何与打印相关的内容或导出循环运行,直到最后。

有趣的是,我在Delphi 2006中有一个旧的应用程序运行良好,现在发生在Delphi 2010中。两者都使用FR 4.0。

帮助sad.gif它让我发疯。

0 个答案:

没有答案