Изменения растрового изображения Delphi TImageList

Я использую Delphi XE2 Update 3. Обновление 4 несовместимо с некоторыми из наших сторонних компонентов, поэтому мы еще не обновлялись.

Я использую TImageList в своих приложениях. Я заметил, что много раз, когда он переключается с исходного кода на вид формы (F12), внезапно изменяется ранее неизмененный блок. Если я сохраню изменения, вызванные нажатием F12, я смогу посмотреть на систему управления версиями и увидеть, что несколько байтов свойства TImageList.Bitmap изменились. Вот один пример из TortoiseHg Workbench:

@@ -830,7 +830,7 @@
     Left = 760
     Top = 480
     Bitmap = {
-      494C01010200E402E40210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+      494C01010200E802E80210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
                   ^^  ^^  <-- two bytes changed

Иногда вносятся другие незначительные изменения, но они всегда ограничиваются несколькими изолированными участками в данных TImageList.Bitmap. Это настоящая боль — постоянно вносить эти незначительные изменения в систему управления версиями, когда я не делаю никаких преднамеренных изменений.

Кто-нибудь знает, почему Delphi меняет данные TImageList.Bitmap при переключении между представлениями источника и формы? Есть ли способ обойти это ограничение?

15
задан James L. 25 May 2012 в 16:15
поделиться