Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
4-1137144109
Andrey C
2006-01-13 12:21
2006.04.02
Програмный клик мышки


2-1142892456
VAZMan
2006-03-21 01:07
2006.04.02
Не возможно оторазить страницу...


15-1142060103
Карелин Артем
2006-03-11 09:55
2006.04.02
Рефакторинг проекта. Что посоветуете использовать?


1-1141199372
Ньюб2
2006-03-01 10:49
2006.04.02
Чтение/запись 8 байт в материнке


4-1135363510
guitarist
2005-12-23 21:45
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский