Tôi viết rất nhiều thành phần và thư viện cho Delphi, hầu hết trong số đó yêu cầu sử dụng BPL Packaging để chúng có thể được cài đặt vào IDE. Điều này đủ đơn giản và hoạt động tốt, cho đến khi bạn muốn duy trì một tập hợp các tệp dự án trọn gói (trong một nhóm dự án), nhưng cũng muốn biên dịch và phân phối các gói tương tự cho các phiên bản Delphi khác nhau.Gói (BPL) Suffix đặt tên tự động
Cho đến nay tôi đã tạo ra một dự án trọn gói khác nhau cho mỗi phiên bản của Delphi, và xác định một cách rõ ràng ở phiên bản Delphi định danh như một hậu tố (ví dụ Kinect_XE.bpl và Kinect_XE2.bpl).
Tôi biết rằng, trong Project Tùy chọn cho một dự án trọn gói, dưới Mô tả, có các lĩnh vực LIB tiền tố và (quan trọng hơn cho nhu cầu của tôi) LIB suffix.
Tôi biết thêm rằng nếu tôi đặt một giá trị trong hậu tố LIB LIB, nó sẽ được thêm vào cuối tên tệp BPL đã biên dịch.
Câu hỏi của tôi, tuy nhiên, là đầu tiên cho dù đó có thể có IDE tự động cư LIB suffix lĩnh vực với IDE/RTL Version số, và nếu như vậy ... làm thế nào?
Tôi khá chắc chắn này là có thể, vì nó sẽ xuất hiện mà vcl120.bpl (và các đối tác của mình cho mỗi phiên bản tương ứng của Delphi) có thể được tham chiếu (theo yêu cầu) các gói của riêng bạn sử dụng chỉ vcl thay vì phải nhập đầy đủ vcl120. Đó là, trên thực tế, hành vi tương tự này tôi hy vọng đạt được ... nơi các gói của tôi có thể tham chiếu nội bộ (như cần thiết) mà không cần phải cung cấp các tham chiếu phiên bản cụ thể để chứa hậu tố.
Quan trọng không kém là giải quyết điều này sẽ cho phép tôi duy trì một tập hợp các tệp dự án trong một nhóm dự án duy nhất (ngoại trừ XE2 nơi tệp dự án của nó không nhất thiết phải hoạt động rất tốt với các phiên bản trước của Delphi cho các nền tảng bổ sung).
tôi nghi ngờ rằng tôi có thể cần phải đặt một giá trị như $ (VER) (hoặc một cái gì đó tương tự) trong LIB suffix lĩnh vực, nhưng điều này dường như không làm việc và tôi đã lùng sục Google tìm kiếm chính xác dung dịch.
Hy vọng bạn có thể trợ giúp!
UPDATE 1
Tôi bây giờ viết một plugin IDE được sử dụng với (trong ít nhất) Delphi 2007 đến XE2, mang đến cho DLL và BPL dự án là một lựa chọn mới mang tên AutoSuffix. Khi được bật Trên, bất kỳ IDE nào có cài đặt plugin AutoSuffix sẽ ngay lập tức áp dụng hậu tố phiên bản IDE chính xác cho dự án.
Số tự động AutoSuffix sẽ được cung cấp miễn phí cho tất cả mọi người trong vòng 24 giờ tới và câu hỏi này được cập nhật tương ứng.
CẬP NHẬT 2
Okay ... Delphi 2007 là trở thành một nỗi đau! Tôi đã thực hiện AutoSuffix làm việc với 2009 để XE2, cho đến nay, nhưng 2007 đòi hỏi một ít thời gian hơn (kiên nhẫn đánh giá cao).
CẬP NHẬT 3
Nó sẽ xuất hiện như là mặc dù Embarcadero đã nghe tiếng kêu chung của chúng ta đối với gói đơn giản hơn thống nhất giữa các phiên bản.
Đánh dấu sẽ đẩy thông qua để xem các phiên bản tương lai của Delphi có thể chứa một tính năng {$ LIBSUFFIX AUTO} hay không. Tôi hy vọng sẽ sớm nghe lại liệu đây có phải là trường hợp không. Nếu vậy, nó chắc chắn ảnh hưởng đến cách AutoSuffix sẽ cần phải làm việc trên XE2 và các phiên bản cũ hơn (như hiện nay nó không cung cấp công tắc AUTO đơn giản .. nó có phương pháp riêng của nó).
Tôi hy vọng rằng EMB sẽ thực hiện yêu cầu này một cách nghiêm túc, để nó trở thành trường hợp đơn giản khi sử dụng AutoSuffix trên các phiên bản hiện có để thống nhất quy trình trên tất cả các phiên bản!
Không phải phiên bản trình biên dịch mà là phiên bản IDE/RTL. – OnTheFly
Đúng ... chỉnh sửa cho phù hợp! Một sai lầm ngớ ngẩn về phía tôi! – LaKraven
Tôi nhận được ** Không có báo cáo # 83229 hoặc bạn không được phép xem báo cáo đó. ** khi tôi cố truy cập vào báo cáo (đã đăng nhập) – LaKraven