Câu trả lời cho đến nay bỏ lỡ một điểm quan trọng: Gói thời gian chạy hữu ích giống như các tệp DLL hữu ích nếu bạn có một bộ ứng dụng hoạt động cùng nhau và được cài đặt cùng nhau. Tất nhiên bạn có thể liên kết VCL và các thư viện của bên thứ ba với tất cả chúng bằng cách xây dựng chúng mà không cần gói, nhưng tùy thuộc vào số lượng ứng dụng và thư viện được sử dụng, kích thước của các ứng dụng này sẽ lớn hơn kích thước của chúng. kích thước của các gói thời gian chạy đó. Điều này sẽ làm cho các gói thiết lập lớn hơn, đó không phải là vấn đề lớn nó từng là.
Nhưng sử dụng tất cả các ứng dụng này cùng một lúc sẽ cũng mang lại tải cao hơn nhiều cho hệ thống. Vì mỗi ứng dụng sử dụng bản sao riêng của VCL và các thư viện khác, tất cả những thứ này cần được nạp từ đĩa vào bộ nhớ, điều này gây ra nhiều I/O hơn. Và sau đó sẽ có một số bản sao của chúng trong bộ nhớ, mỗi bản sao chiếm không gian cho mã. Khi các gói thời gian chạy được sử dụng, mỗi ứng dụng sẽ có vùng bộ nhớ riêng cho dữ liệu, nhưng tất cả chúng sẽ chia sẻ cùng một bản sao của mã của gói trong bộ nhớ.
Đối với một ứng dụng độc lập không có bất kỳ nhu cầu đặc biệt nào, hãy xây dựng mà không cần gói.
Tôi cũng tò mò về điều này. Tôi sử dụng EurekaLog, và khả năng rò rỉ bộ nhớ của nó không hoạt động trừ khi bạn xây dựng mà không có các gói thời gian chạy. Vì vậy, tôi đã dành một vài ngày loại bỏ sự cần thiết cho nó. Vì vậy, để thêm vào câu hỏi của bạn, tôi cũng tò mò nếu nó đáng giá để xây dựng VỚI các gói thời gian chạy cho một bản dựng gỡ lỗi, và KHÔNG cho bản phát hành bản phát hành, và nếu có, làm thế nào điều đó có thể được thực hiện? – lkessler