Re: Экспорт класса из DLL
От: Logot Украина  
Дата: 06.08.13 16:20
Оценка:
Здравствуйте, Hayabusa, Вы писали:

H>Доброго дня всем,


H>Есть такая задача:

H>Экспортируемая функция из DLL возвращает указатель на экземпляр созданного класса.
H>В приложении DLL загружается динамически. Получаю указатель на экземпляр, вроде даже методы класса вызываются.
H>Но при попытке delete на указатель, выскакивает исключение при освобождении памяти.

H>Экспортируемая функция объявлена так



H>
H>extern "C" CSomeClass* CALLBACK GetObject(void);
H>


H>Что нужно еще сделать для нормальной работы с экземпляром класса?

H>Как правильно его потом освобождать?

У EXE и DLL разные менеджеры кучи, в одном манагере кучи ты выделяешь память, а в другом удаляешь. Под виндами так нельзя. Нужно, чтобы тот менеджер кучи, который выделил память, также заботился об освобождении.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.