0

我一直在使用虚拟机上的 Rave 报告测试一些 D2006 代码,发现如果没有安装打印机,当我生成 PDF 报告时应用程序挂起。挂起发生在这里:

exception message : The application seems to be frozen.

main thread ($108):
005c5e62 +106 MyApp.exe    RpRPTF          SimpleTextWidth
006198f7 +31b MyApp.exe    RpMemo          TMemoBuf.GetLine
0061a44a +086 MyApp.exe    RpMemo          TMemoBuf.MemoLinesLeft
005cba28 +014 MyApp.exe    RpBase          TBaseReport.MemoLines
00672e8e +072 MyApp.exe    MyAppReports    PrintReportParagraph
00677f73 +acb MyApp.exe    MyAppReports    PrintSummaryReportBody
0066b208 +010 MyApp.exe    MyAppMainForm   TMainForm.RvSystemSummaryReportPrint
005c6f35 +015 MyApp.exe    RpBase          TBaseReport.PrintEvent
005c8066 +03a MyApp.exe    RpBase          TBaseReport.Execute
0060a299 +125 MyApp.exe    RpSystem        TRvSystem.GenerateReport
0060a52a +07e MyApp.exe    RpSystem        TRvSystem.Execute
0067d364 +0ac MyApp.exe    MyAppReports    DoPrintSummaryReport
0067d64d +1d5 MyApp.exe    MyAppReports    ProduceReports
0066e966 +1e6 MyApp.exe    MyAppProcessing ProcessMyAppData
0066ab9b +0d7 MyApp.exe    MyAppMainForm   TMainForm.DoProcessData

毫无疑问,这与零页面宽度有关,混淆了计算它可以在页面上容纳多少行的代码或类似的东西。

问题是我正在编写 PDF - 不是打印 - 所以我不明白为什么没有打印机应该触发此代码(安装了 Acrobat Reader)。如果我安装打印机,它的行为。为什么我需要安装打印机(该应用程序可以安装在未安装打印机的工作站上 - 出现错误消息:“除非安装打印机,否则无法生成 PDF 报告”似乎有点笨拙)?

4

1 回答 1

1

这是 Rave Reports 中长期存在的错误。它与未安装默认打印机有关。我会寻找旧 Borland/CodeGear 论坛帖子的链接(CodeNewsFast现在似乎没有回复)。假设存在打印机时存在问题。我不知道它是否已在最新版本的 Rave 中得到修复。(D2006 是很久以前的事了。)

如果我没记错的话,解决方案是将文本驱动程序安装到“模拟”打印机上。这允许 Rave 继续运行。

于 2011-04-12T02:48:40.033 回答