![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Paradox |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
Я создаю dll и пытаюст ее динамически подключить к приложению
код dll
приложение
почему то всегда pTSTFUNC получается NULL, а dll всегда 0x1000000 отчего так ? -------------------- --- |
||||
|
|||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Посмотри что GetLastError возвращает. И посмотри при помощи Depends какие функции есть в твоей ДЛЛке
|
|||
|
||||
| srd |
|
||||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
1. Если экспортируешь функцию с помощью директивы __declspec(dllexport), то лучше использовать в клиентской программе __declspec(dllimport). Тогда часть проблем будет разруливаться компилятором, а не тобой.
2. Если нужно использовать LoadLibrary, то для экспорта функций лучше использовать DEF файл. Добавь в свой проект текстовый файл с расширением DEF и следующего содержания
В твоём коде на первый взгляд видно следующие ошибки: 1. Вместо pOpenXMLFile должно быть pTSTFUNC 2. Если хочешь находить функцию именно по имени TestFunc, то юзай DEF файл или напиши
После этого GetProcAddress найдет твою функцию по строке TestFunc, но т.к. TSTFUNC имеет тип компоновки __stdcall (замаскированный макросом CALLBACK), то при попытке вызвать эту функцию стек будет угроблен. Либо напиши:
а в качестве параметра для GetProcAddress передавай строку "_TestFunc@4", либо убери из определения TSTFUNC макрос CALLBACK, либо опять-таки используй DEF файлы. Это сообщение отредактировал(а) srd - 23.9.2004, 12:56 -------------------- Не смей читать мою подпись!!! |
||||||
|
|||||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Вопрос - а в каком компиляторе делается?
|
|||
|
||||
| Paradox |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
проблема была в этом
забыл
-------------------- --- |
|||
|
||||
| NeXWiZ |
|
|||
|
Unregistered |
Подскажите
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |