我有点困惑...... 我有一个典型的程序:
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它让我发疯。