0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 6
|
||||||
1 | ||||||
Экспорт указателя на интерфейс из DLL16.05.2013, 10:59. Показов 1769. Ответов 5
Метки нет (Все метки)
Есть проект, к нему прикручен заголовок с библиотекой.
В заголовке хранятся классы, в библиотеке - реализация (Ну, все по-людски). В классах хранятся указатели на интерфейсы, которые используются в методах. Для экспорта методов класса использую __declspec(dllexport), а для интерфейсов... Ничего не использую. Как следствие - ошибка доступа к памяти.
0
|
16.05.2013, 10:59 | |
Ответы с готовыми решениями:
5
Получение указателя на функцию из dll Вызов функции из DLL (C++) с передачей указателя на массив Возвращение из dll функции указателя на динамический массив Экспорт dll (из с++) в с# |
Модератор
3400 / 2171 / 353
Регистрация: 13.01.2012
Сообщений: 8,408
|
|
16.05.2013, 11:37 | 2 |
видите ли... такой фокус как хранение классов в DLL очень специфичный. еще более специфичный чем хранение функций. даже для функций многие среды не могут однозначно договорится о формате lib файла. для классов - вообще мрак. поэтому следует начать с того какая у вас среда?
PS здесь безусловно есть какие-то черты COM, но по-существу ничего относящегося к COM в вашем вопросе я не увидел.
0
|
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 6
|
|
16.05.2013, 12:16 [ТС] | 3 |
Да, дело в том, что вся реализация DirectX построена на COM-объектах, я подумал, что это особенности именно этой сути...
Среда - VS 2012. Разумеется и библиотека и проект компилируются в ней.
0
|
Модератор
3400 / 2171 / 353
Регистрация: 13.01.2012
Сообщений: 8,408
|
|
16.05.2013, 12:23 | 4 |
ошибка доступа к памяти возникает при попытке обратиться, например, к shader объекта полученного из DLL? может объект не создан или не инициализировал поле shader?
0
|
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 6
|
|
16.05.2013, 17:37 [ТС] | 5 |
Нет, есть конструктор, в котором все указатели обнуляются.
0
|
Модератор
3400 / 2171 / 353
Регистрация: 13.01.2012
Сообщений: 8,408
|
|
17.05.2013, 09:31 | 6 |
если указатель на интерфейс нулевой почему вы удивляетесь что вызов метода интерфейса через такой указатель приводит к краху?
0
|
17.05.2013, 09:31 | |
17.05.2013, 09:31 | |
Помогаю со студенческими работами здесь
6
DLL экспорт строк Экспорт функции из dll Экспорт функции из dll на с++ Экспорт CString из dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |