Программа не находит dll

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Программа не находит dll

Сообщение Climber » 20.11.2008 13:59:11

Программа использует набор компонентов zeos для доступа к СУБД postgres. Тестировалась на 4 компах (мой рабочий, мой домашний, комп жены дома, комп коллеги на работе), все с Win XP SP2. Работает везде, кроме компа коллеги по работе. У него программа ругается на отсутствие libpq.dll. Пробовал анализировать Dependency Walker'ом, обнаружились следующие побробности:
при попытке обращения к библиотеке возникает ошибка "LoadLibraryA("libpq.dll") returned NULL. Error:" дальше много квадратиков и в скобках 14001.
Следущая обшибка:
"Error: Side-by-side configuration information for libpq.dll contains errors." дальше опять много квадратиков и в скобках 14001.
Подскажите, с какого бока надо пробовать решать проблему? Это вина lazarus'а, zeos'а или Windows?
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Программа не находит dll

Сообщение Vadim » 20.11.2008 14:03:18

Надо заменить DLL-ку на том компьютере где не работает.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Программа не находит dll

Сообщение Climber » 20.11.2008 14:47:55

Беда в том, что dll одна и та же. Папка с файлами (exe и все dll) копируется с моего компа на общий сетевой диск, после чего забирается с другого компьютера (копированием).
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Программа не находит dll

Сообщение Vadim » 20.11.2008 15:09:09

Тогда нужно лично убедиться, что на компе коллеги программа обращается к идентичной DLL-ке, что и на других компах, где программа правильно работает.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Программа не находит dll

Сообщение Padre_Mortius » 20.11.2008 15:45:13

Может стоит все библиотеки положить в System32? Такое бывает если с реестром проблемы
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Программа не находит dll

Сообщение Attid » 20.11.2008 16:02:04

Vadim писал(а):Тогда нужно лично убедиться, что на компе коллеги программа обращается к идентичной DLL-ке,

угу например используя filemon
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Программа не находит dll

Сообщение Sergei I. Gorelkin » 20.11.2008 17:42:12

Буквы "side-by-side configuration" в сообщении об ошибке говорят о том, что проблема не с dll, а с манифестом к ней. В Windows больше нет dll hell, его заменили на manifest hell (c). Такую dll куда ни положи, нигде ее видно не будет, пока не положишь куда надо еще и нужный манифест. Куда что класть - знают, похоже, только официальные инсталляторы.

Причем, раз не грузится libpq.dll, то проблема скорее всего не в ней самой, а в одной из тех dll, от которых она зависит - в какой-нибудь msvcrt.dll.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Программа не находит dll

Сообщение Climber » 20.11.2008 17:48:19

Да, дело было в манифесте. Мне на другом форуме указали на папку WinSxS, после некоторого изучения которой оказалось, что там у меня есть некоторые файлы, которых нет у моих коллег. После простого копирования недостающих файлов вроде заработало.
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

Рейтинг@Mail.ru