Документация описывает инициализацию единицы, которая будет выполняться при запуске программы, но в случае (автоматически загружаемых) BPL есть исключения. Порядок определяется зависимостями между единицами, поэтому я не могу считать, что он всегда один и тот же. Что может Я предполагаю об инициализации блока? Это может быть широкий вопрос, но я ожидаю, что ответы на подзаголовки ниже будут очень связаны.Что я могу сказать об инициализации устройства?
- На каких условиях инициализируется единица?
- Действительно ли инициализация происходит при запуске или упрощает документацию?
- Если нет, что еще вызовет его?
- Это строго последовательный, что означает, что каждый блок полностью инициализирован до следующего?
- Выполняется ли все инициализация в основном потоке?
- Если нет, то он по-прежнему является потокобезопасным?
У меня не было возможности найти документацию, которая будет более глубокой в этом.
Следует отметить, что существует иерархия инициализации, основанная на основном файле проекта. Он будет инициализировать единицы в порядке их нахождения в предложениях «uses» при разборе блоков. Это также означает, что «Система» и т. Д. Также инициализируются перед вашим собственным проектом. Есть одна процедура, которая в цикле запускает инициализацию всех необходимых единиц в порядке их использования (я видел, что такие циклы инициализируют более 600 единиц последовательно). –