Главная страница
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.092 c
2-1142527873
Ossetic
2006-03-16 19:51
2006.04.02
DBComboBox - как внести значения из базы?


1-1141295597
Николай2006
2006-03-02 13:33
2006.04.02
использование TChart для рисования многоугольника


15-1142150131
Ega23
2006-03-12 10:55
2006.04.02
С Днём рождения! 12 марта


4-1136983804
Saimon
2006-01-11 15:50
2006.04.02
Сгенерировать GUID строке.


15-1142228476
Ega23
2006-03-13 08:41
2006.04.02
С Днём рождения! 13 марта