2012-05-24 24 views
14

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?

+7

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. –

+2

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 –

+0

@DavidHefferman, điều này không xảy ra ở Delphi 7 – DaveBoltman

Trả lời

4

Đó là một lỗi IDE thực sự gây phiền nhiễu đã được báo cáo đôi khi trong Trung tâm Chất lượng Embarcadero, đặc biệt là ở QC 92769, nhưng tiếc là nó chưa được khắc phục. :-(

+0

Đó là vấn đề chính xác. Cảm ơn QC#. –