Главная страница
    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.45 MB
Время: 0.046 c
15-1140694572
Praetor
2006-02-23 14:36
2006.04.02
Творческий вопрос(Нужна идея)


2-1142429241
Megabyte
2006-03-15 16:27
2006.04.02
Запрос логина и пароля текущего пользователя БД


15-1141969191
Павел Кудрявцев
2006-03-10 08:39
2006.04.02
Ищутся умные люди!


3-1139408614
Wolferio
2006-02-08 17:23
2006.04.02
Ошибка при изменении даных


6-1135147258
Jumaric
2005-12-21 09:40
2006.04.02
Запуск программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский