【发布时间】:2012-05-31 10:49:43
【问题描述】:
我正在使用 Delphi XE2 Update 3。Update 4 与我们的某些 3rd 方组件不兼容,因此我们尚未更新。
我在我的应用程序中使用 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 数据?有没有办法解决这个限制?
【问题讨论】:
-
我认为它总是这样做的。在 .dfm 文件中使用资源而不是位图的另一个原因。
-
这种行为在 FireMonkey 形式的图像中更加突出。
-
@DavidHefferman,这在 Delphi 7 中不会发生。
标签: delphi version-control delphi-xe2 timagelist