Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

Порядок следования модулей в секции uses проекта   Найти похожие ветки 

 
NiGGa   (2008-02-21 19:15) [0]

Доброго времени суток.

Собственно вопрос простой: имеет ли значение порядок следования модулей в секции uses проекта и какое?
Т.е. проект у меня рабочий и собирается. Что даст перестановка модулей в uses (за исключением случаев когда она приведет к невозможности сборки)?

Всем спасибо


 
Riply ©   (2008-02-21 19:27) [1]

> [0] NiGGa   (21.02.08 19:15)
> Собственно вопрос простой: имеет ли значение порядок следования модулей в секции uses проекта и какое?

Имеет. Пример: ShareMem


 
tRiply ©   (2008-02-21 19:36) [2]

А по мне, так никакого значения порядок следования не имеет.
Не понятно, на что намекает пример > Riply ©   (21.02.08 19:27) [1]


 
Riply ©   (2008-02-21 19:46) [3]

>  [2] tRiply ©   (21.02.08 19:36)
>  А по мне, так никакого значения порядок следования не имеет.
>  Не понятно, на что намекает пример > Riply ©   (21.02.08 19:27) [1]

Пример намекает на стандартное предупреждение:

{ Important note about DLL memory management: ShareMem must be the
 first unit in your library"s USES clause AND your project"s (select
 Project-View Source) USES clause if your DLL exports any procedures or
 functions that pass strings as parameters or function results. This
 applies to all strings passed to and from your DLL--even those that
 are nested in records and classes. ShareMem is the interface unit to
 the BORLNDMM.DLL shared memory manager, which must be deployed along
 with your DLL. To avoid using BORLNDMM.DLL, pass string information
 using PChar or ShortString parameters. }


 
Anatoly Podgoretsky ©   (2008-02-21 19:49) [4]

Для правильно написаного проекта не играет, кроме sharemem.
К тому же легко представить ситуацию, когда любой порядок будет неправилен. Надо просто правильно писать.


 
guav ©   (2008-02-21 21:35) [5]

Порядок следования модулей влияет на порядок инициализации и на разрешение совпадающих имён при отсутствии явной квалификации модуля.
Порядком инициализации обысно управлять не требуется: для двух модулей если есть прямая или косвенная зависимость одного модуля от другого, при этом другой от первого не зависит, независимый будет инициализирован первым.
В случаях неоднозначных имён вроде FindClose или TBitmap можно указать имя подуля.


 
Palladin ©   (2008-02-22 09:06) [6]


> [2] tRiply ©   (21.02.08 19:36)

мусье не в курсе про менеджеры памяти?


 
NiGGa   (2008-02-22 14:24) [7]

Спасибо всем.


 
Leonid Troyanovsky ©   (2008-02-23 10:11) [8]


> tRiply ©   (21.02.08 19:36) [2]

http://www.delphimaster.ru/forums.shtml
См. "Запрещается" п.3

--
Regards, LVT.


 
{RASkov} ©   (2008-02-23 16:45) [9]

> См. "Запрещается" п.3

Незнаю почему именно на 3-й пункт было направление, но п.4 более подходит...
Впрочем, читать нужно все)


 
Leonid Troyanovsky ©   (2008-02-23 19:17) [10]


> {RASkov} ©   (23.02.08 16:45) [9]

> Незнаю почему именно на 3-й пункт было направление

Почему, почему.
Промахнулся :)

Sorry.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1204008466
boba
2008-02-26 09:47
2008.03.23
TCriticalSection


2-1204081876
Stepper
2008-02-27 06:11
2008.03.23
Как сохранить/считать значение TMemuItem?


2-1204014098
dracula
2008-02-26 11:21
2008.03.23
ReadFile и юникод


15-1202569817
korstin
2008-02-09 18:10
2008.03.23
Нынче заказчики пошли )))


15-1202699303
Slider007
2008-02-11 06:08
2008.03.23
С днем рождения ! 11 февраля 2008 понедельник