2010-07-07 20 views
10

Có thể đặt cài đặt "Phiên bản thông tin" từ mã không? Tôi muốn đặt số phiên bản và giá trị cho thuộc tính "Nhận xét" mà không sử dụng hộp thoại tùy chọn dự án.Đặt dự án Delphi 7 "Thông tin phiên bản" từ mã?

+1

bạn có thể xây dựng về vấn đề này một chút? Bạn có thực sự muốn thay đổi phiên bản EXE sau khi biên dịch không? Ứng dụng của bạn có thể bị nhầm lẫn với một số Mallware để làm điều đó! Hay bạn muốn thay đổi nó chỉ một lần tại thời gian biên dịch? Hoặc có thể ngay lập tức sau thời gian biên dịch? –

+0

Tôi không muốn thay đổi nó sau khi biên dịch. Tôi chỉ muốn thiết lập các giá trị để biên dịch mã. – pantarhei

Trả lời

4

tôi sẽ khuyên bạn sử dụng một công cụ xây dựng, như FinalBuilder (mà tôi sử dụng rất nhiều), có thể làm điều này cho bạn theo một chương trình thích hợp. Sau đó, bạn biết rằng các tùy chọn xây dựng là tất cả như bạn muốn, số của bạn được tăng lên một cách thích hợp, và bạn có thể làm những việc như tải lên trang FTP và nhiều hơn nữa. Trong các kịch bản của tôi, số xây dựng được bao gồm tất cả các cách thông qua từ EXE để cài đặt và tất cả.

+0

+1, cũng Visual Build Pro là tốt cho việc này. http://www.kinook.com/VisBuildPro/ –

10

Thay vì chỉnh sửa tệp RES nhị phân mà IDE quản lý cho bạn, bạn có thể thấy dễ dàng hơn trong việc duy trì tệp RC văn bản chứa version-info resource. Viết các tập tin tài nguyên kịch bản, và sau đó bao gồm nó trong dự án của bạn với một dòng như thế này:

{$R resources.res resources.rc} 

Bạn nên loại bỏ dòng {$R *.RES} từ tập tin DPR dự án của bạn, nếu không bạn sẽ nhận được nguồn phiên bản trùng lặp . Không sử dụng tên dự án của bạn làm tên của tệp tài nguyên tùy chỉnh của bạn; tên đó được bảo lưu bởi IDE.

Tệp tài nguyên do IDE quản lý cũng chứa biểu tượng dự án, vì vậy bạn cũng cần phải bao gồm nó trong tập lệnh tài nguyên của mình.

Bạn có thể chỉnh sửa tập lệnh tài nguyên bằng tay hoặc bạn có thể viết chương trình để chỉnh sửa hoặc tạo lại chương trình dưới dạng một trong các bước xây dựng của bạn.

Sử dụng tập lệnh tài nguyên văn bản có tác dụng phụ được thêm vào để dễ dàng theo dõi các thay đổi đối với nó trong bất kỳ hệ thống kiểm soát nguồn nào bạn sử dụng, như CVS.

+2

+1 Chúng tôi hiện đang sử dụng thông tin phiên bản trong các tệp .bdsproj và .res, và đó là một cơn ác mộng. Nó làm cho việc sáp nhập trở nên rắc rối. Chúng tôi đã có một người sáng tạo chi nhánh thay đổi thông tin phiên bản và kiểm tra lại vào svn, do đó, đó không phải là vấn đề, nhưng chúng tôi phải trả giá đắt khi cố gắng hợp nhất sau. 99% thay đổi là các tệp .bdsproj và .res! Thay vào đó, chúng ta sẽ chuyển sang phương thức .rc. –

+3

Bạn chỉ có thể vô hiệu hóa bao gồm thông tin phiên bản trong các tùy chọn dự án và bạn sẽ không gặp lỗi tài nguyên trùng lặp, trong khi có thể đặt các dữ liệu khác được đặt trong tệp .res mặc định. –

+3

Xin lưu ý rằng khi bạn xóa {$ * .res}, bạn cũng mất biểu tượng ứng dụng chính như được thiết lập bởi các tùy chọn dự án và sẽ cần phải tự bao gồm một tệp bằng cách sử dụng tệp .rc. –

4

Bạn phải viết thuật sĩ cho điều đó. Kiểm tra IOTAProjectOptions trong D7IOTA.HLP tập tin, mã nguồn của ToolsAPI đơn vị và this thread

+2

Tại sao lại là downvote? Câu trả lời này thực sự cung cấp câu trả lời trực tiếp nhất cho câu hỏi như đặt ra !!! OK, vì vậy nó chỉ ra rằng các poster của câu hỏi là sau cái gì khác, nhưng câu trả lời này không xứng đáng một downvote cho điều đó! Nếu có câu hỏi * *. (StackOverflow có lẽ nên cung cấp hai thứ hạng cho câu hỏi: 1 cho câu hỏi và câu hỏi khác cho câu hỏi được đặt/độ rõ của câu hỏi thực tế cần được trả lời vv) – Deltics

+0

Có lẽ, giải pháp của tôi * trông * quá phức tạp :-) Tuy nhiên, IDE duy trì tài nguyên dự án độc quyền hoặc người dùng phải thực hiện thủ công. Đây là cách duy nhất để tích hợp liền mạch. –

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