Главная страница
    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.043 c
15-1141973153
Аноним
2006-03-10 09:45
2006.04.02
Создание wizard - ов


15-1142247265
Сатир
2006-03-13 13:54
2006.04.02
Обработка события дочернего компонента


1-1141048869
msgipss
2006-02-27 17:01
2006.04.02
Быстрый экспорт excel документа в html


2-1142509639
Gentos
2006-03-16 14:47
2006.04.02
Delphi&Html


2-1142413973
Id
2006-03-15 12:12
2006.04.02
Backup





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский