我有一个可执行文件。 Exe是从Delphi版本5编写的,因为代码是用Delphi编写的。这个exe在Windows XP,Windows 7和32位操作系统上成功运行。但是同样的可执行文件不适用于具有64位操作系统的Windows 7。它将抛出以下错误代码异常代码:0xc0000005。
唯一的选择是重新编译Delphi代码并使其与Windows 7 64位操作系统兼容。 我有谷歌,但没有找到任何合适的文章。因此,有人可以帮我解决这个问题。
我有一个好主意,使可执行程序兼容32位和64位,但仅限于.NET Framework。所以请帮帮我。
答案 0 :(得分:4)
该错误代码是访问冲突的NTSTATUS代码。您可以看到错误代码通常意味着您的应用程序在初始化期间引发了访问冲突。一旦Delphi RTL初始化,那么这些错误将转换为本机Delphi EAccessViolation错误。因此,很有可能这在初始化期间是一个错误,可能与您链接或使用依赖模块的方式有关。
为了解决这个问题,你需要做一些调试。我要做的第一件事是在配置文件模式下使用Dependency Walker来运行您的应用程序。这将使您在某个时刻诊断过程的负载,可能是在加载模块初始化期间,您将看到错误。希望这会引导您找到解决方案。
使用Delphi 5构建的程序可以在64位Windows上运行。您的程序中有一个需要调试的错误。就那么简单。这不是最容易调试的错误,但它仍然只是对您的代码进行调试。