加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 2010 BSOD错误

发布时间:2020-12-15 09:36:06 所属栏目:大数据 来源:网络整理
导读:我们将Delphi 7的应用程序移植到Delphi 2010,并且客户在 Windows XP下运行时遇到间歇性BSOD(蓝屏死机)错误.错误是非常零星的,并且很难追查.仅供参考:我们正在使用Delphi 2010的内置内存管理器. 我们首先想到的是硬件问题,但升级系统驱动程序无法解决问题.
我们将Delphi 7的应用程序移植到Delphi 2010,并且客户在 Windows XP下运行时遇到间歇性BSOD(蓝屏死机)错误.错误是非常零星的,并且很难追查.仅供参考:我们正在使用Delphi 2010的内置内存管理器.

我们首先想到的是硬件问题,但升级系统驱动程序无法解决问题.

有没有其他人在使用Delphi 2010生成的应用程序的XP下遇到BSOD问题?如果是这样,您对我们如何纠正此问题有任何建议吗?

谢谢你的协助!

解决方法

Delphi核心库中没有任何东西可以直接导致BSOD.正如David指出的那样,Delphi程序在用户空间中运行.但是,如果他们向内核空间驱动程序发送无效数据,那就不一样了.

你说D7-D2010更新,我发生的第一件事是字符串改造. Delphi的标准字符串类型已从AnsiString(每个字符1个字节)更改为UnicodeString(每个字符2个字节),如果您在某处向驱动程序或系统例程发送错误类型的字符串,则可能会导致奇怪的行为.

我要做的第一件事是运行完整版本并观察编译器的“隐式转换”警告.这意味着您正在混合字符串类型.找到这些并修复它们,看看是否有帮助.

此外,如果您有外部库的任何导入单元,并且它们使用带有字符串(或更可能是PChar)参数的API,请确保它们已转换为PAnsiChar. Delphi已经为windows.pas中使用的Windows API内容处理了这个问题,但是如果你有自己的任何东西,你需要自己处理它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读