【问题标题】:Delphi XE2 64 bit app and Application Verifier failsDelphi XE2 64 位应用程序和应用程序验证程序失败
【发布时间】:2012-01-11 02:15:16
【问题描述】:

我希望有人能给我解释一下吗?当使用 Application Verifier 并仅在 Application Verifier 中使用默认设置时,我编译的所有 64 位应用程序都将失败。这是 hello world dpr 的示例:

program HelloWorld;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

begin
  try
     Writeln('Hello, World!');
     Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

正如我所见,它在应用程序启动时应用程序验证程序抛出的 Int 3(第一次机会)失败?为什么这在 x64 而不是 x86 中失败?有没有办法阻止这种情况? 我一定错过了 x64 文档中的某些内容,因为我真的迷失在这种行为中。

感谢所有可以为我回答这个问题的人。

爷爷

【问题讨论】:

  • 您是否尝试过在提升模式下运行应用程序和应用程序验证程序(具有管理员权限)?
  • 如果删除 try..except 会发生什么?
  • @RRUZ 抱歉,我花了这么长时间才回复,这里的天气变南了。以更高的权限运行无关紧要。
  • @Remko 忽略异常陷阱也无济于事。
  • 我可以简单地启动一个新应用程序,一个 hello world 表单应用程序,除了主表单之外什么都没有,它也会失败。任何为 x64 编译的应用程序都会发生这种情况,x86 很好。我在 MS 网站上读到他们认为 x86 错误地处理了异常,并试图在 x64 中解决这个问题。我个人不介意这一点,因为我当然可以抓住第二次机会例外。但是我的客户坚持要纠正这个问题,我提供的软件将在 Application Verifier 下运行。所以我认为 x64 缺少一些微不足道的东西。

标签: windows delphi delphi-xe2


【解决方案1】:

已通过安装 Application Verifier 4.1.1078 解决。正在使用 4.0.0665,它会“总是”失败。 4.1.1078版本关闭杀毒后正常工作

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 2011-12-25
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    相关资源
    最近更新 更多