Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое подключение DLL [D7, WinXP]


checkmate-maker ©   (2008-11-07 10:50:00) 

Здравствуйте, уважаемые знатоки и мастера Delphi.
Помогите, пожалуйста, разобраться в проблеме.
Описание проблемы:
Функция h_mclmcr := LoadLibrary(PChar(FSupportPath + 'mclmcr.dll'));возвращает 0, при этом FileExists(FSupportPath + 'mclmcr.dll')возвращает True(сразу отбросим сомнения о существовании файла). Вызываю   GetLastError- получаю 126(отсутствует необходимый модуль). Известно, что для работы библиотеки mclmcr.dll необходимо наличия еще нескольких "сопутствующих" библиотек - все они лежат в FSupportPath(там же где и mclmcr.dll). Использование функции SetCurrentDir(FSupportPath)не помогает. ЕСЛИ "сопутствующие" библиотеки выложить в директорию c:\windows\system32\ все работает(библиотека подключается без ошибок). САМОЕ интересное, что данная ошибка происходит на 1 из 30(примерно) компьютерах - т.е. "ситуевина" исключительная.
 Извиняюсь за  многословность. Хотел сразу определить действия, использованные мной. Заранее спасибо за помощь в решении проблемы.


Tonich   (2008-11-10 17:32:00) [1]

у меня тоже когда было подобное и я сделал как описано в  
> Сергей М. ©   (07.11.08 10:59) [3]

и теперь все отлично )


Loginov Dmitry   (2008-11-07 20:47:00) [2]

При имеющихся входных данных вывод напрашивается один: при загрузке библиотеки 'mclmcr.dll' возникает какая-то ошибка. Причем необязательно, что валится код этой самой библиотеки. Возможно, что проблема возникает при загрузке "сопутствующих" библиотек. А вот отчего- это самое интересно! Мы можем только гадать.


Поросенок Винни-Пух   (2008-11-07 11:46:00) [3]

Возможно сопутствующие либы должны быть зарегистрированы чере WinSxS.
Например если исходная загружаемая собрана в vs2005.


Плохиш   (2008-11-07 10:59:00) [4]


> САМОЕ интересное, что данная ошибка происходит на 1 из 30(примерно)
> компьютерах

Значит на 1 из 30 компьютеров FSupportPath не прописан в путях поиска системы. Какое это отношение имеет к делфи совершенно не понятно.


Сергей М.   (2008-11-07 10:59:00) [5]

А ты попробуй для всех "сопутствующих" библиотек выполнить ту же самую строчку с LoadLibrary - сразу увидишь какая из них сидит в засаде ..


clickmaker   (2008-11-07 10:57:00) [6]

LoadLibraryEx с флагом LOAD_WITH_ALTERED_SEARCH_PATH


Наверх

Титульная страница Поиск, карта сайта Написать письмо