Delphi Exe仅在Windows 7 64位上引发异常代码:0xc0000005

Delphi Exe仅在Windows 7 64位上引发异常代码:0xc0000005,delphi,windows-7-x64,delphi-5,Delphi,Windows 7 X64,Delphi 5,我有一个可执行文件。Exe是从Delphi版本5编写的,因为代码是用Delphi编写的。此exe在Windows XP、Windows 7和32位操作系统上成功运行。但同一可执行文件在64位操作系统的Windows7上不工作。它将抛出以下错误代码异常代码:0xc0000005 唯一的选择是重新编译Delphi代码并使其与Windows 7 64位操作系统兼容。 我有谷歌,但没有找到任何合适的文章。因此,有人能帮我解决这个问题吗 我有一个好主意,使可执行文件兼容32位和64位,但只在.NET Fr

我有一个可执行文件。Exe是从Delphi版本5编写的,因为代码是用Delphi编写的。此exe在Windows XP、Windows 7和32位操作系统上成功运行。但同一可执行文件在64位操作系统的Windows7上不工作。它将抛出以下错误代码异常代码:0xc0000005

唯一的选择是重新编译Delphi代码并使其与Windows 7 64位操作系统兼容。 我有谷歌,但没有找到任何合适的文章。因此,有人能帮我解决这个问题吗


我有一个好主意,使可执行文件兼容32位和64位,但只在.NET Framework中。因此,请帮助我。

该错误代码是访问冲突的NTSTATUS代码。您可以看到,错误代码通常意味着您的应用程序在初始化期间引发了访问冲突。Delphi RTL初始化后,这些错误将转换为本地Delphi EAccessViolation错误。因此,这很可能是初始化过程中的错误,可能与链接或使用依赖模块的方式有关

为了解决这个问题,您需要进行一些调试。我要做的第一件事是在概要模式下使用Dependency Walker来运行应用程序。这将使您能够在某个时刻诊断流程的负载,可能在模块的加载和初始化期间,您会看到一个错误。希望这将引导您找到解决方案


使用Delphi 5构建的程序在64位Windows上运行。您的程序中有一个需要调试的错误。就这么简单。这不是最容易调试的错误,但它仍然只是代码的调试练习。

您是否确实阅读了建议用户从中下载软件的页面上的详细说明?我认为他们做到了,因此礼貌地拒绝遵循这个“建议”…任何声称对特定NTSTATUS错误有一刀切解决方案的网站都在提供恶意软件。千万不要访问这样的网站,更不用说听从他们的建议下载任何东西了。换句话说,这是在做一些需要提升特权的事情。它在32位Windows中工作的原因可能不是因为它是32位的,而是因为它禁用了UAC。再次尝试右键单击.exe并“以管理员身份运行”。@FreeConsulting,David就在这里。尝试转到链接
http://www.wiki-errors.com/wiki-errors.php?wiki=myerror
,将
myerror
替换为您想要的任何内容。它只是一个样板文本,声称有一个软件可以修复您搜索的任何错误。@DavidHeffernan,您先问一下,bowsIf先生,如果我的程序中有错误,那么为什么它能在Windows XP和Windows&32位操作系统上成功运行。请澄清这一点,因为我对德尔福没有足够的了解。什么是NTSTATUS代码?您的程序中有一个只在某些系统上出现的bug。NTSTATUS错误代码是由NT层引发的错误代码。这与Win32层提出的相反。Delphi RTL初始化后,此类错误将转换为本机Delphi异常。很可能是初始化某个依赖项时出现问题。我的建议是,请仔细听:不要再寻找快速解决方案。解决方案包括调试您的特定程序。好的,我会按照你的建议彻底调试代码。我希望这将使我了解原始问题的确切原因,并提高我的调试技能。但是你能解释一下如何使任何exe与Windows7 64位操作系统兼容吗。我已经为.NET应用程序做了这项工作,但从未为Delphi做过。Delphi 5可执行文件已经与x64 Windows兼容。64位Windows运行32位应用程序。你有一个bug,你需要找到它。从Dependency Walker开始。另一个选择是去掉应用程序的一部分,直到你去掉一些东西,然后它运行。您可以在x64机器上安装D5,但我怀疑问题是在调试器能够帮助您之前出现的。实际上,我没有使用Dependency Walker,即使我不知道如何使用它。我正在阅读关于它的完整文章,在最初阅读之后,我可以说这将真正帮助我。