Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не загружается DLL. Помогите !!!

1.8K
19 апреля 2004 года
scanf
72 / / 10.12.2003
Написал DLL.
После написал программу которая загружает и исспользует его.

hDLL= LoadLibrary("C:\\spfnc.dll");
if(hDLL==NULL)
{
MessageBox("Dll not found");
return false;
}

Всё прекрасно работало.
Позже я скопировал програму на дискету
(естественно в месте с DLL и изменив направление на a:\ в иходнике).
На моём компютере с дискеты вё работает нормально,
но на любом другом почемуто DLL не загружается.
Почему и что можно с этим сделать.
Подскажите пожалуйсто.
Как всегда заранее очеь благодарен всем кто мне ответит.
424
19 апреля 2004 года
(C)dragon
307 / / 04.12.2002
Во-первых если и программа и DLL находяться в одном каталоге, то в LoadLibrary путь указывать не надо, только имя. DLL может не загружаться, потому что она сама зависит от других DLL(может от динамического runtime). Если занимает всё это не много, то на [email]dtdcs@mail.ru[/email] можешь кинуть, посмотрю.
1.8K
20 апреля 2004 года
scanf
72 / / 10.12.2003
Я обратил внимавние на сообщение при сборке DLL:

LINK : warning LNK4089: all references to 'OLEAUT32.dll' discarded by /OPT:REF

Что это значит и может ли быть проблема изза этого ?
424
20 апреля 2004 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by scanf
Я обратил внимавние на сообщение при сборке DLL:

LINK : warning LNK4089: all references to 'OLEAUT32.dll' discarded by /OPT:REF

Что это значит и может ли быть проблема изза этого ?



Это значит, что DLL импортирует функции из oleaut32.dll, но они не используются. Может файл заголовочный лишний подключён. На то, что DLL не загружается, это не должно влиять(если только на Win95 может не загружаться, т.к. там нет файла oleaut32.dll).

1.8K
20 апреля 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by (C)dragon


Это значит, что DLL импортирует функции из oleaut32.dll, но они не используются. Может файл заголовочный лишний подключён. На то, что DLL не загружается, это не должно влиять(если только на Win95 может не загружаться, т.к. там нет файла oleaut32.dll).



Можно както проверить откудо это берётся потому что я отключил всё что можно было. В том числе
большинство оглавлений в stdafx.h ,а сообщение не исчезает ?

424
20 апреля 2004 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by scanf


Можно както проверить откудо это берётся потому что я отключил всё что можно было. В том числе
большинство оглавлений в stdafx.h ,а сообщение не исчезает ?



В этих заголовочных файлах хрен разберёшься, лучше и не пытаться. Ещё раз говорю, если DLL загружается на одном компе и не загружается на другом, то значит ей нужны библиотеки, которые на том компе не существуют. Бири утилиту PE Tools(на wasm.ru есть в разделе распаковщики) и смотри, какие библиотеки импортируются.

1.8K
21 апреля 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by (C)dragon


В этих заголовочных файлах хрен разберёшься, лучше и не пытаться. Ещё раз говорю, если DLL загружается на одном компе и не загружается на другом, то значит ей нужны библиотеки, которые на том компе не существуют. Бири утилиту PE Tools(на wasm.ru есть в разделе распаковщики) и смотри, какие библиотеки импортируются.



Поздравь меня с присвоением мне титула осла :D .
Представь себе я компилировал DLL с установкой
Use MFC in a Shared DLL. Так что ты был на 100%
прав.
Да и спасибо за ссылку на программу она многое
прояснила.

424
21 апреля 2004 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by scanf


Поздравь меня с присвоением мне титула осла :D .
Представь себе я компилировал DLL с установкой
Use MFC in a Shared DLL. Так что ты был на 100%
прав.
Да и спасибо за ссылку на программу она многое
прояснила.



Понятно..

Только библиотеки MFC должны и без VC++ на компе быть, в дистрибутив XP точно входят.

319
21 апреля 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by (C)dragon


Понятно..

Только библиотеки MFC должны и без VC++ на компе быть, в дистрибутив XP точно входят.



Версии библиотеки могут быть разными, что иногда приводит с отказу программы работать с библиотекой.

1.8K
22 апреля 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by xelos


Версии библиотеки могут быть разными, что иногда приводит с отказу программы работать с библиотекой.



Отказ работать с библиотекой это ещё мелочи.
Я недавно столкнулся с версией ХР которая вобще выбросила прогамму написанную на VС++ 7 и вполне нормально работавшую на других компютерах.
И причом с сообщением о запросе не существующей памяти.
Вот и пойми кто рехнулся компелятор, порграмист или Windows .

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог