Delphi QuickReport和Windows 7 XP模式

Delphi QuickReport和Windows 7 XP模式,delphi,windows-7,delphi-5,quickreports,xp-mode,Delphi,Windows 7,Delphi 5,Quickreports,Xp Mode,我有一个用Delphi 5开发的应用程序,它在Windows 7中使用XP模式运行得非常好,除了一个代码: TQRCompositeReport.Prepare 该功能仅在我使用管理员帐户时有效。 如果我使用的帐户没有管理员权限,则只有在禁用XP模式时,该帐户才能工作。 由于我在Windows 7中运行应用程序时在没有XP模式时出现一些错误,因此我必须激活此选项。然后,我无法使用此命令预览或打印任何报告 我的想法是,一旦quick report使用管理员帐户工作,它可能会涉及quick rep

我有一个用Delphi 5开发的应用程序,它在Windows 7中使用XP模式运行得非常好,除了一个代码:

TQRCompositeReport.Prepare
该功能仅在我使用管理员帐户时有效。 如果我使用的帐户没有管理员权限,则只有在禁用XP模式时,该帐户才能工作。 由于我在Windows 7中运行应用程序时在没有XP模式时出现一些错误,因此我必须激活此选项。然后,我无法使用此命令预览或打印任何报告


我的想法是,一旦quick report使用管理员帐户工作,它可能会涉及quick report生成的一些临时文件。但是,Windows 7中默认的临时文件夹是C:\users\username\App Data\Local\Temp\并且用户有权在该文件夹中创建和修改文件。

为什么不尝试处理UAC错误并使其在没有XP模式的情况下工作?我不明白你的问题。你说它需要XP模式才能工作。然后你说它只在XP模式被禁用的情况下工作。我们该怎么做呢?我已经让很多D6应用程序与Windows7兼容。这是完全可能做到的。XP模式适用于您没有源代码且无法适应UAC的情况。当然,这是一个用户权限问题,UAC完全是关于权限和权限的。如果我是你,我只会修复应用程序与UAC一起工作,并避免xp模式,但你显然可以随意解决它。你应该避免在xp模式下工作。您需要嵌入UAC manifest level=asInvoker,否则您将在可视化模式下工作,该模式将很快被弃用。QR也可能正在写入本地计算机注册表。使用文件/注册表监视器SysInternals来确定应用程序是否正在写入其没有权限的位置。使用安装程序设置适当的权限。应用程序应使用标准用户权限运行。任何其他的解决方法都会让你大吃一惊。我之前的评论中有一个输入错误:虚拟化模式。。。