我可以假设单元初始化?

时间:2015-10-25 17:19:23

标签: delphi

文档描述了在程序启动时发生的单元初始化,但是在(自动加载的)BPL的情况下,存在例外。顺序由单位之间的依赖关系决定,所以我不能假设总是相同。什么可以我假设单元初始化?这可能是一个广泛的问题,但我希望下面的子问题的答案高度相关。

  • 在什么条件下对单元进行初始化?
  • 所有初始化确实是在启动时发生的还是文档过于简单?
  • 如果没有,还会触发什么呢?
  • 它是严格顺序的,意味着每个单元在下一个单元之前完全初始化了吗?
  • 是否在主线程中执行了所有初始化?
  • 如果没有,它仍然是线程安全的吗?

我无法找到更深入的文档。

1 个答案:

答案 0 :(得分:4)

  

在什么条件下单元初始化?

模块中包含的所有单元均已初始化。

  

所有初始化确实是在启动时发生的还是文档过于简单?

在启动模块加载期间初始化单位。

  

它是严格顺序的,意味着每个单元在下一个单元之前完全初始化了吗?

是。

  

是否在主线程中执行了所有初始化?

是。