2011-10-04 34 views
9

Bất cứ ai có thể cho tôi biết nơi để tìm danh sách các biến môi trường "giả" có sẵn trong RAD Studio không? Những cái như $ (Nền tảng), $ (Config), v.v. Cụ thể, tôi muốn một trong đó mang lại cho tôi phiên bản RTL, để tôi có thể đặt các đơn vị biên dịch của tôi (* .dcu) vào đúng thư mục, tức là. D15 cho XE, D16 cho XE2, vvDelphi biến môi trường được xác định trước

Tôi đã hy vọng rằng sẽ có một trong số này tương ứng với định nghĩa có điều kiện trình biên dịch "RTLVersion", nhưng $ (RTLVersion) không hoạt động.

+0

Tôi nghĩ rằng đó chỉ là biến môi trường bình thường như được thảo luận [ở đây] (http://stackoverflow.com/questions/6870282/how-are-delphi-environment-variables-such-as-bds-evaluated). –

+0

Đây là các biến môi trường được đặt là chính IDE. "Ghi đè" được lưu trữ trong sổ đăng ký. BTW, 'RTLVersion' không phải là ký hiệu có điều kiện, mà là hằng số thực. Ngoài ra, tôi không thấy lý do lớn để tổ chức các tệp tạm thời. –

+0

Tôi đang cố định cấu hình các dự án của mình để chúng có thể được xây dựng trên máy chủ xây dựng, mà không phải thêm các lệnh đặc biệt trên máy chủ xây dựng. Máy chủ xây dựng có thể có một số phiên bản khác nhau của Delphi. Nó cũng có thể có một số thư viện mã khác nhau, chẳng hạn như Jedi (tất cả trong kiểm soát nguồn). Tôi muốn xây dựng kịch bản để xây dựng những thư viện cũng như sản phẩm của tôi. Nhưng Jedi có các thư mục khác nhau cho mỗi verion RTL (ví dụ: \ lib \ D15). Vì vậy, tôi muốn làm cho các tùy chọn dự án của tôi nhìn vào .. \ lib \ D $ (RTLVersion), bởi vì sau đó tôi không phải thay đổi mọi tệp dự án khi một phiên bản Delphi mới được phát hành. – user977725

Trả lời

1

Không có biến môi trường cho phiên bản RTL. Bạn sẽ phải tạo một dự án riêng cho mỗi phiên bản và sau đó tinh chỉnh các thư mục đầu ra nếu cần.

10

Không có một RTLVersion biến nhưng bạn có thể tạo ra một cách dễ dàng bằng cách sử dụng biến tùy chọn Enviroment

enter image description here

hoặc các cửa sổ registry.

Đối với Delphi XE Kiểm tra cụm từ này

HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Environment Variables 

Sau đó, bạn có thể tạo một biến mới gọi là RTLVersion

enter image description here

Và sau đó từ Delphi IDE bạn có thể sử dụng như vậy

enter image description here

+0

Trong D2007, tôi có trang "Biến môi trường" trong hộp thoại tùy chọn trong "Tùy chọn môi trường" (tất cả được dịch từ tiếng Đức). Điều này đã đi trong DXE? –

+0

@UlrichGerhardt, trang 'Biến môi trường 'vẫn tồn tại, tôi đã cập nhật câu trả lời của mình. – RRUZ

4

Bạn đã thử $ (ProductVersion) chưa? điều này sẽ không cung cấp cho bạn D16, nhưng chứa phiên bản sản phẩm BDS 9.0 cho XE2.

Thật không may phiên bản demo XE2 của tôi đã hết hạn nên tôi không thể tự xác minh xem nó có hoạt động hay không. Bạn sẽ tìm thấy bin định nghĩa \ CodeGear.Common.Targets

Cập nhật: Định nghĩa ProductVersion mới trong XE2, vì vậy nó sẽ không hoạt động trong các phiên bản cũ hơn, nhưng kể từ khi mới được thêm vào, khả năng cao nó sẽ được duy trì bởi embarcadero trong các phiên bản sau.

+0

ý tưởng hay, công cụ tạo và các công cụ xây dựng khác cũng có thể đặt biến số quá –

+0

Lưu ý rằng $ (ProductVersion) là/cũng có sẵn trong XE. –

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