是否有地方可以添加将在单元初始化之前执行的代码?
我想这样做的原因是我需要更改 DecimalSeparator,这必须在某些单元初始化之前完成。我已将其放在 Application.Initialize 之前的项目源中,但那时为时已晚。
在我看来,我唯一的选择就是将其放在需要更改小数分隔符的单元的初始化中,是这种情况吗?
预先感谢您的任何建议。
Delphi 中的初始化顺序是确定性的:单元按照编译器编译它们的顺序进行初始化,并按照相反的顺序完成。编译器从 DPR 的顶部开始uses子句并向下工作,对于它找到的每个单元,它递归地执行相同的操作:从uses子句,尝试编译每个尚未编译的已使用单元,然后编译当前单元。因此,如果您可以在编译任何其他单元之前获取您的单元,那么它将首先进行初始化。
如果您想确保它首先被执行,请创建一个新单元,将您的更改放入该单元的初始化块,然后确保它最终出现在 DPR 中依赖于更改的任何单元之前。您甚至可能希望将其作为第一个单元,除非您已经有其他“必须是第一个”单元,例如替换内存管理器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)