为什么Delphi XE7会在每个FMX表单上更改PNG图像?
我有一个包含许多自定义firemonkey组件的表单,其中每个组件包含多个位图(从PNG图像文件加载).每次保存表单时,PNG图像的二进制数据都会在FMX文件中发生变化!
这会弄乱我的版本控制日志(SVN),因为更改表单中的一个属性会导致数千个更改的行. 有什么方法可以避免这种情况吗? 请参阅SVN diff的屏幕截图: 保存表单时,我没有更改DotInlay.PNG图像,甚至包含图像的控件也没有任何更改. 编辑: 如果您发现它应该被解决,请投票给它. 解决方法
IDE就是这样.将二进制资源放入.dfm / .fmx文件的危险之一.我不相信你有什么可以做的.只有Embarcadero可以更改他们的IDE.
与.dfm / .fmx文件和源代码控制有关的是仔细检查每个提交并恢复意外更改.无论如何都需要这样做,因为IDE确实习惯于改变不应该改变的东西.即使是非二进制资源. 我的建议是你不要把图像放在.dfm / .fmx文件中.把它们留在资源中.这样,您可以将图像文件放入版本控制中,并将其作为资源链接到可执行文件.您需要在代码中执行更多工作以在运行时加载资源,但是如果需要,可以将其包装在辅助方法中,并且每个图像加载应该减少到一行. 这种方法的真正好处是您可以对二进制资产进行更好的更改控制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |