2012-11-19 112 views
7

在2009年德爾福和多達您可以將此行添加到您的項目.dpr設置TSAWARE PE標誌在你的應用程序可執行文件:德爾福2007年:如何設置TSAWARE?

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 

我以爲(錯誤地),這個語法是不是在2007年德爾福的支持。我有一個應用程序,我不能從2007年移植到一個更新的Delphi版本(任務正在進行,但不會在未來幾個月內完成)。

更新它只不過是Windows必須添加到項目.dpr也。

+2

語法在D2007中受支持,並且常量聲明在大約1832行左右的'Windows.pas'中定義。 –

+0

好吧,我的錯誤! –

回答

3

下編譯我的猜測是,你從你的.dpr文件的使用條款缺少Windows單元。補充一點,你可以在你的.dpr文件中寫入:

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 

。雖然顯然你需要在使用條款之後編寫它。

$SetPEOptFlags功能在Delphi 2007之前添加了幾個版本。所以你可能看到的錯誤只是沒有聲明IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE。這可以通過確保符號在.dpr文件中可見來解決。顯然你可以通過在.dpr文件中聲明一個常量來做到這一點,但爲了避免重複,我總是喜歡添加Windows單元。

2

D7

const 

IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000; 

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 
+0

好吧,我的錯! –