gpt4 book ai didi

delphi - 在Delphi中初始化单元之前添加代码

转载 作者:行者123 更新时间:2023-12-03 15:16:14 25 4
gpt4 key购买 nike

是否有地方可以添加在单元初始化之前执行的代码?

我想这样做的原因是我需要更改 DecimalSeparator,这必须在某些单元初始化之前完成。我已将其放在项目源中,在 Application.Initialize 之前,但那时为时已晚。

据我所知,我唯一的选择就是将其放在需要更改 DecimalSeparator 的单元的初始化中,是这样吗?

预先感谢您的任何建议。

最佳答案

Delphi 中的初始化顺序是确定性的:单元按照与编译器编译它们相同的顺序进行初始化,并以相反的顺序完成。编译器从 DPR 的 uses 子句的顶部开始,然后向下工作,对于它找到的每个单元,它递归地执行相同的操作:从 uses 的开头开始strong> 子句,尝试编译每个尚未编译的已使用单元,然后编译当前单元。因此,如果您可以在编译任何其他单元之前获取您的单元,那么它将首先进行初始化。

如果您想确保它首先执行,请创建一个新单元,将更改放入该单元的初始化 block 中,然后确保它在任何单元之前最终出现在 DPR 中这将取决于变化。您甚至可能希望将其作为第一个单元,除非您已经有其他“必须是第一个”单元,例如替换内存管理器。

关于delphi - 在Delphi中初始化单元之前添加代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com