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

Вниз

Порядок следования модулей в секции 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
2-1204001712
None
2008-02-26 07:55
2008.03.23
Ширина вертикальной прокрутки в Tscrollbox


9-1166219183
Vito
2006-12-16 00:46
2008.03.23
TDXDraw мерцает при изменение размеров окна


11-1186122972
Alexey_k
2007-08-03 10:36
2008.03.23
Access Violation на компоненте MHIPEdit


15-1202821756
TankMan
2008-02-12 16:09
2008.03.23
Информация по написанию гаджетов....


2-1203870038
Igor23
2008-02-24 19:20
2008.03.23
ExcelXP





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