2012-11-19 37 views
7

Trong Delphi 2009 và lên bạn có thể thêm dòng này vào .dpr dự án của bạn để thiết lập các cờ TSAWARE PE trong thực thi ứng dụng của bạn:Delphi 2007: Cách đặt TSAWARE?

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 

tôi nghĩ (sai) rằng cú pháp này không được hỗ trợ trong Delphi 2007. Tôi có một ứng dụng mà tôi không thể chuyển từ năm 2007 sang phiên bản Delphi mới hơn (nhiệm vụ đang được tiến hành, nhưng nó sẽ không được thực hiện trong vài tháng tới).

Cập nhật đơn giản là Windows cũng phải được thêm vào dự án .dpr.

+2

Cú pháp được hỗ trợ trong D2007 và khai báo liên tục được xác định trong 'Windows.pas' ở xung quanh dòng 1832 hoặc hơn. –

+0

Ok lỗi của tôi! –

Trả lời

3

Tôi đoán là bạn đang thiếu đơn vị Windows từ khoản sử dụng tập tin .dpr của bạn. Thêm thông tin đó và bạn sẽ có thể viết:

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 

trong tệp .dpr của bạn. Mặc dù rõ ràng bạn cần viết nó sau mệnh đề sử dụng.

Tính năng $SetPEOptFlags đã được thêm vào một vài phiên bản trước Delphi 2007. Và do đó, lỗi mà bạn có thể thấy chỉ đơn giản là IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE không được khai báo. Và điều đó được giải quyết bằng cách đảm bảo rằng biểu tượng hiển thị trong tệp .dpr. Rõ ràng bạn có thể làm điều đó bằng cách khai báo một hằng số trong tệp .dpr, nhưng để tránh trùng lặp, tôi luôn muốn thêm đơn vị Windows.

2

biên dịch dưới D7

const 

IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000; 

{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} 
+0

Ok lỗi của tôi! –

Các vấn đề liên quan