加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:43:21 所属栏目:大数据 来源:网络整理
导读:有没有可以添加将在单元初始化之前执行的代码的地方? 我想要这样做的原因是我需要更改DecimalSeparator,这必须在某些单元初始化之前完成.我把它放在项目源代码中,在Application.Initialize之前,但到时候已经太晚了. 我认为它唯一的选择是将它放在需要更改De
有没有可以添加将在单元初始化之前执行的代码的地方?

我想要这样做的原因是我需要更改DecimalSeparator,这必须在某些单元初始化之前完成.我把它放在项目源代码中,在Application.Initialize之前,但到时候已经太晚了.

我认为它唯一的选择是将它放在需要更改DecimalSeparator的单元的初始化中,是这种情况吗?

提前感谢任何建议.

解决方法

Delphi中的初始化顺序是确定性的:单元的初始化顺序与编译器编译它们的顺序相同,并以相反的顺序最终确定.编译器从DPR的uses子句的顶部开始并向下运行,并且对于它找到的每个单元,它以递归方式执行相同的操作:从uses子句的开头开始,尝试编译每个不使用的单元已编译,然后编译当前单位.因此,如果你可以在任何其他的编译之前获得你的单元,那么它将首先被初始化.

如果要确保首先执行它,请创建一个新单元,将更改放在该单元的初始化块中,然后确保它在任何依赖于更改的单元之前在DPR中结束.您甚至可能希望将其作为第一个单元,除非您已经有其他“必须是第一”单元,例如替换内存管理器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读