15
votes

I'm using Delphi XE2 Update 3. Update 4 is not compatible with some of our 3rd party components, so we haven't updated yet.

I use TImageList's in my applications. I've noticed that many times when it toggle from source view to form view (F12), suddenly the previously unmodified unit will be modified. If I save the change caused by pressing F12, I can look at source control and see a few bytes of the TImageList.Bitmap property have changed. Here's one example as seen in TortoiseHg Workbench:

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

Sometimes there are other minor changes, but it's always limited to just a few isolated spots in the TImageList.Bitmap data. It's a real pain to be constantly pushing these insignificant changes into source control when I'm not making any intentional changes.

Does anyone know why Delphi change the TImageList.Bitmap data when toggling between source and form views? Is there a way to workaround this limitation?

1
I think it's always done this. Yet another reason to use resources rather bitmaps in .dfm files.David Heffernan
This behaviour is even more prominent with images in FireMonkey forms.Uwe Raabe
@DavidHefferman, this does not happen in Delphi 7.Reversed Engineer

1 Answers

6
votes

It is a really annoying IDE bug already reported sometimes in Embarcadero Quality Central, especially in QC 92769, but unfortunately it is not fixed yet. :-(