Форум: "Начинающим";
Текущий архив: 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