Tôi đang sử dụng Delphi XE2 Update 3. Bản cập nhật 4 không tương thích với một số thành phần bên thứ 3 của chúng tôi, vì vậy chúng tôi chưa cập nhật.Delphi TImageList Bitmap Changes
Tôi sử dụng TImageList trong ứng dụng của mình. Tôi đã nhận thấy rằng nhiều lần khi nó chuyển đổi từ chế độ xem nguồn sang dạng xem (F12), đột nhiên đơn vị chưa sửa đổi trước đây sẽ được sửa đổi. Nếu tôi lưu thay đổi gây ra bằng cách nhấn F12, tôi có thể xem xét kiểm soát nguồn và xem một vài byte thuộc tính TImageList.Bitmap đã thay đổi. Dưới đây là một ví dụ như trong TortoiseHg Workbench:
@@ -830,7 +830,7 @@
Left = 760
Top = 480
Bitmap = {
- 494C01010200E402E40210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 494C01010200E802E80210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
^^ ^^ <-- two bytes changed
Đôi khi có những thay đổi nhỏ khác, nhưng nó luôn luôn giới hạn chỉ là một vài điểm bị cô lập trong các dữ liệu TImageList.Bitmap. Đó là một nỗi đau thực sự để liên tục đẩy những thay đổi không đáng kể vào kiểm soát nguồn khi tôi không thực hiện bất kỳ thay đổi có chủ ý nào.
Có ai biết tại sao Delphi thay đổi dữ liệu TImageList.Bitmap khi chuyển đổi giữa chế độ xem nguồn và biểu mẫu? Có cách nào để giải quyết hạn chế này không?
Tôi nghĩ rằng nó luôn luôn được thực hiện điều này.Nhưng một lý do khác để sử dụng tài nguyên thay vì bitmap trong các tập tin .dfm. –
Hành vi này thậm chí còn nổi bật hơn với hình ảnh trong các hình thức FireMonkey –
@DavidHefferman, điều này không xảy ra ở Delphi 7 – DaveBoltman