Главная страница
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.013 c
2-1203922619
Настёна
2008-02-25 09:56
2008.03.23
ОС перезагружается!


2-1203931873
md10
2008-02-25 12:31
2008.03.23
как переменной приравнять строку содержащую апостраф


2-1203717911
Res
2008-02-23 01:05
2008.03.23
чат


15-1202823736
Kerk
2008-02-12 16:42
2008.03.23
Нюансы общения с заказчиками


6-1183210878
Kor
2007-06-30 17:41
2008.03.23
Обмен данными через Dial-up модем.