Delphi 2007: 如何设置 TSAWARE?

8
在Delphi 2009及以上版本中,您可以在项目.dpr文件中添加以下行来设置应用程序可执行文件的TSAWARE PE标志:
{$SetPEOptFlags  IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}

我曾经错误地认为Delphi 2007不支持这种语法。我有一个应用程序,暂时无法将其从2007移植到更新的Delphi版本(任务正在进行中,但在接下来的几个月内不会完成)。 更新:只需将Windows添加到项目.dpr中即可。

2
该语法在D2007中得到支持,常量声明在Windows.pas文件中的大约1832行左右定义。 - Ken White
2个回答

4
我猜测你的.dpr文件的uses从句中缺少Windows单元。添加该单元后,您将能够编写以下内容:
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}

在你的.dpr文件中,尽管显然你需要在uses子句之后写入它。 $SetPEOptFlags特性是在Delphi 2007之前的几个版本中添加的。因此,你可能看到的错误只是因为IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE未声明。解决方法是确保该符号在.dpr文件中可见。显然,你可以通过在.dpr文件中声明一个常量来实现这一点,但为了避免重复,我总是喜欢添加Windows单元。

3

可以在D7下编译

const

IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000;

{$SetPEOptFlags  IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接