Delphi TImageList位图更改

15

我使用的是Delphi XE2 Update 3。由于一些第三方组件与Update 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数据吗?是否有一种方法可以解决这个限制?

8
我认为它一直是这样做的。这正是使用 .dfm 文件中的资源而不是位图的又一个原因。 - David Heffernan
2
这种行为在FireMonkey表单中的图像上更加突出。 - Uwe Raabe
@DavidHefferman,这在Delphi 7中不会发生。 - Reversed Engineer
1个回答

6

这是一个非常烦人的IDE bug,已经在Embarcadero Quality Central中报告过多次,特别是在QC 92769中,但不幸的是它还没有被修复。 :-(


1
那就是确切的问题。谢谢QC#。 - James L.
在新的错误跟踪器中出现了相同的错误。在评论中,Karol Bieniaszewski提供了一个解决组件。 - Serhii Kheilyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接