Изменения в растровых изображениях 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 при переключении между представлениями источника и формы? Есть ли способ обхода этого ограничения?

Ответы

Ответ 1

Это очень раздражающая ошибка IDE, которая иногда упоминается в Embarcadero Quality Central, особенно в QC 92769, но, к сожалению, она еще не исправлена.: - (