Текущий архив: 2008.02.03;
Скачать: CL | DM;
ВнизРабота с DLL Найти похожие ветки
← →
Washington © (2008-01-11 10:51) [0]У меня есть несколько библиотек. И я динамически их загружаю, когда мне нужно. Как проверить, загружена ли библиотека, чтобы не запустить её второй раз?
← →
Григорьев Антон © (2008-01-11 10:56) [1]Система сама проверит и не станет загружать второй раз, LoadLibrary вернёт дескриптор уже загруженного модуля.
← →
Washington © (2008-01-11 11:01) [2]У меня форма в модуле находится. И в результате при загрузке раннее загруженного модуля у меня грузится вторая форма.
← →
clickmaker © (2008-01-11 11:02) [3]h := GetModuleHandle("some.dll");
if (h = 0) then
h := LoadLibrary("some.dll");
← →
Игорь Шевченко © (2008-01-11 11:25) [4]Washington © (11.01.08 11:01) [2]
Зачем тебе две формы ?
← →
Плохиш © (2008-01-11 11:31) [5]
> У меня есть несколько библиотек.
> У меня форма в модуле находится.
Мне интересно, использовать dll не по назначению - это мода сейчас такая или задания по лабораторным?
← →
Сергей М. © (2008-01-11 11:43) [6]
> Washington © (11.01.08 11:01) [2]
т.е.
Library MyLib;
..
begin
.. форма создается здесь ? ..
end;
Умней ничего не придумал ?)
← →
Washington © (2008-01-11 11:55) [7]
> Игорь Шевченко © (11.01.08 11:25) [4]
Вот и я об этом. Зачем мне две одинаковые формы?
> Плохиш © (11.01.08 11:31) [5]
Не знаю. Прочитал в книге (не Фленов), сделал
> Сергей М. © (11.01.08 11:43) [6]
Нет, не здесь :)
И вообще я уже разобрался
← →
Сергей М. © (2008-01-11 12:01) [8]
> Нет, не здесь
Как же "не здесь", когда, судя по твоей же фразе, "при загрузке .. грузится .. форма" ?
Код между begin и end как раз и выполняется именно при загрузке)
← →
Григорьев Антон © (2008-01-11 12:05) [9]
> Сергей М. © (11.01.08 12:01) [8]
> Код между begin и end как раз и выполняется именно при загрузке)
Цитата из описания LoadLibrary в MSDN:
If the module is a DLL not already mapped for the calling process, the system calls the DLL"s DllMain function with the DLL_PROCESS_ATTACH value.
Т.е. как раз если бы форма создавалась здесь, то она создавалась бы один раз - второй раз DllMain не вызывалась бы.
← →
Сергей М. © (2008-01-11 12:09) [10]
> Григорьев Антон © (11.01.08 12:05) [9]
Да это-то понятно)
Но это по сути и загрузкой-то назвать нельзя - всего лишь инкремент счетчика.
← →
clickmaker © (2008-01-11 13:10) [11]вообще, странная задача
если DLL грузится, значит хендл где-то сохраняется?
почему его не проверять на 0?
а при выгрузке обнулять
← →
Сергей М. © (2008-01-11 13:14) [12]
> clickmaker © (11.01.08 13:10) [11]
Не царское это дело - хранить и контролировать хэндлы)
Страницы: 1 вся ветка
Текущий архив: 2008.02.03;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.047 c