2008-10-21 69 views
0

我在Crystal Reports 8中遇到了问题。从我的应用程序导出报表时,Crystal Reports 有时会冻结。进度窗口停留,表示X记录的X被导出。为什么Crystal Reports 8会冻结?

  1. 更小的数据报告更有可能冻结。
  2. 更快的工作站(P4,Core2)往往会更频繁地冻结,有时候每秒都会尝试。在较旧的工作站上(< P2)根本不会发生冻结,或至少每隔一两天发生一次冻结。
  3. 导出格式(rtf,pdf,html,rpt)不影响冻结行为。
  4. 相同的报告可以成功导出多次,但是最终会冻结。
  5. 无冻结发生在Windows Vista中(!)

有没有办法制止这种或至少预测冻结的方法吗?

+0

您可能想要发布您的代码。 有趣的是,我正在将CR8应用程序更新为CR XI,并且遇到了XI的冻结问题,而CR8工作得很好。 – anon6439 2008-10-21 10:05:14

回答

2

经过长时间的搜寻,我们终于找到了源头到WaitForSingleObject(?, INFINITE)电话。看起来CR8有一些同步错误,在快速工作站上变得明显。

它以某种方式与进度窗口相关,Vista中的动画似乎可以缓解该问题。

理论上的解决办法是修补问题文件,并用一个超时参数替换WaitForSingleObject

1

CR 8是一个较老的产品,你可能会想现在检查任何人拥有它(企业仍然对象?)更新(修补程序V8专)。这可能是他们过去通过服务发布解决的问题。

+0

是的,我们已经完成了(CR 11)。但不幸的是,我们必须为我们的一些传统产品提供支持。 – 2008-10-21 11:29:46

+0

对不起,我应该澄清。我并不是说升级到最新版本,我的意思是修补程序到产品版本8的更新。 – 2008-10-21 16:44:54