Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Модули   Найти похожие ветки 

 
redom   (2006-03-18 12:51) [0]

Такая проблема, есть три Unit`a в каждом есть initialization, как установить очередность их исполнения при инициализации.


 
Dust ©   (2006-03-18 13:28) [1]

Используй для этих целей не модули, а классы. И создавай классы руками.
Используй и Инициализируй   только поля объектов.
Не забывай уничтожать объекты.
А вообще - тебе нужны "Синглтоны", поищи информацию по ним.

Внутри Initialization инициализируй только независимые переменные (напр. таблицы перекодировки).
!Модератору - в Начинающим!


 
Джо ©   (2006-03-18 15:53) [2]

> redom   (18.03.06 12:51)
> Такая проблема, есть три Unit`a в каждом есть initialization,
> как установить очередность их исполнения при инициализации.

Зависит от порядка их перечисления в uses главного файла проекта. Если напрямую модуль не указан в файле проекта, то от порядка модуля, который его использует и т.д.


 
Desdechado ©   (2006-03-18 19:29) [3]

Вообще-то надеяться на порядок инициализации не надо. Эти секции должны быть независимы. А то такие подходы чреваты скрытыми и труднонаходимыми ошибками.
имхо


 
jack128 ©   (2006-03-18 20:27) [4]

Desdechado ©   (18.03.06 19:29) [3]
Вообще-то надеяться на порядок инициализации не надо.

Вообще то надо. Например, если я подключил модуль Forms к своему модулю, то я имею гарантию, что в initialization моего модуля Application уже будет создан. Эта аксиома, котороой пользуются в том числе и в борланде


 
Anatoly Podgoretsky ©   (2006-03-18 20:59) [5]

jack128 ©   (18.03.06 20:27) [4]
На это можешь расчитывать, объект Application создается в проекте.


 
GuAV ©   (2006-03-19 15:18) [6]

jack128 ©   (18.03.06 20:27) [4]

Стоит только дополнить, что эта аксиома нарушается для модулей циклически ссылающихся друг на друга.

Для выполнения кода после всех initialization - см. InitProc и Application.Initialize , пример модуль ComObj.


 
Desdechado ©   (2006-03-19 17:08) [7]

как видим, неочевидностей много
это как со значением переменных без инициализации - одни нормальные, другие - мусор
я предпочитаю явно определять все это, а не надеяться на умолчания



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
3-1138969011
GLFox
2006-02-03 15:16
2006.04.02
Firebird+модем


15-1142105723
guest888
2006-03-11 22:35
2006.04.02
фрактальное сжатие изображений


11-1123157267
Muller
2005-08-04 16:07
2006.04.02
Как заменить подменю на другое?


15-1142070596
Nic
2006-03-11 12:49
2006.04.02
P IV - 2800 (533 MHz FSB) vs Athlon 64 3000+


2-1142934011
Nsk3D
2006-03-21 12:40
2006.04.02
Изменение шрифта