【问题标题】:ReportBuilder access violation when trying to print [closed]尝试打印时报告生成器访问冲突[关闭]
【发布时间】:2014-05-21 09:12:57
【问题描述】:

如果您在 Delphi Project 中查看报告,我会遇到问题 让出现的消息:

模块“OP.exe”中地址 00CEE75D 的访问冲突。读取地址00000000.Op.exe

此消息并非出现在所有环境中

我有文件EurekaLog file

Report1.DeviceType := 'dtScreen';
Report1.Print;

【问题讨论】:

  • 虚拟地址00CEE75D处的OP.exe有一个bug。
  • 除了您试图取消引用 nil 指针外,我们无法告诉您任何信息。贴出相关代码。

标签: delphi reportbuilder


【解决方案1】:

首先 这个错误偶尔会出现,这意味着它不会一直出现。 这个问题在各种情况下出现了几十次,有时在重新启动或重新启动程序后错误消失了。

在 ReportBuilder 的支持论坛上报告了多个错误日志 他们在技术上说这个错误已经存在并且无法修复。

【讨论】:

    【解决方案2】:

    Eureka 日志调用堆栈似乎表明方法 TppForm.Showmodal 存在问题:

    |007DF2C3|OP.exe   |ppForms.pas  |TppForm        |ShowModal      |682[10]  |
    |0093988A|OP.exe   |ppProd.pas   |TppProducer    |PrintToScreen  |1788[24] |
    

    根据您的评论,有问题的代码是

    TppForm Result := inherited ShowModal;
    

    似乎对尚未创建的 TppForm 实例进行了无效调用。

    【讨论】:

    • 作为评论当然会更好,因为它不是真正的答案?
    • 我正在跟踪错误 TppForm 结果:= 继承 ShowModal;
    • @PreetSangha ok 减少了我对肉的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    相关资源
    最近更新 更多