Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объявление модулей в interface и implementation [D6, 95/98]


Dr. Genius ©   (2006-09-27 11:45:00) 

Здравствуйте!

У меня один чисто теоретический вопрос: используемые модули (uses …, …, …;) по умолчанию объявляются после секции interface, но можно их объявлять и в секции implementation. Есть ли от этого какая-то разница?


Dr. Genius   (2006-09-27 14:56:00) [1]

Все понятно. Спасибо.


Игорь Шевченко   (2006-09-27 12:32:00) [2]


>  Есть ли от этого какая-то разница?


Есть. Те, что объявлены в interface, обычно используются, чтобы разрешить ссылки как в interface, так и в implementation, те, что объявлены в implementation, разрешают ссылки только в implementation.

Обычно должен действовать принцип "ничего лишнего", то есть, если модуль не используется для разрешения ссылок в interface, то его надо указывать в uses в implementation.


LOG1   (2006-09-27 11:57:00) [3]

Модули подключают в implementation в основном для разрешения перекрестных ссылок, т.к. когда модули ссылаются друг на друга с помощью uses...


ЮЮ   (2006-09-27 11:51:00) [4]


>  по умолчанию объявляются

Не по умолчанию, а потому, что брошенные тобой на форму компоненты можно обнаружить среди полей класса TFormXXX, описываемого в interface секции модуля формы. И. естественно, эти модули ты никак не переместишь в implementation. Если же модуль используется лишь в реализациии методов классов, описанных в interface части, то их запросто можно указывать в implementation.


Наверх

Титульная страница Поиск, карта сайта Написать письмо