-
Есть DLL, в которой есть класс с интерфейсом. В EXE загружаю DLL, получаю ссылку на класс из нее, создаю экземпляр класса, получаю его интерфейс и дальше работаю с экземпляром класса через него. Но в какой то момент времени при вызове функции интерфейса, происходит ошибка 'Access violation at address 0630F42A in module MODULE.DLL. Write of address 0000002E'. Далее при всех последующих вызовах функций интерфейса происходит та же ошибка. Причем 'Write of address 0000002E' всегда выдают адрес близкий к нулевому. А при закрытии проги она нормально уже не закрываются, высыпает куча подобных ошибок.
-
без отладчика не разберешься :) вообще похоже на неинициализированную локальную переменную
-
К сожалению не понятна ситуация, что значит: 1. "Есть DLL, в которой есть класс с интерфейсом" - это in-proc сервер? если ответ - да, то 2. "В EXE загружаю DLL" - хотелось бы мне увидеть этот код... Вы её явно подгружаете, через LoadLibrary? если ответ - да, то появляется вопрос "а зачем?". Инфраструктура COM сама подгрузит ваш in-proc сервер когда вы попытаетесь получить экземпляр интерфейса реализованого в этой библиотеке, для этого данный сервер должен быть зарегестрирован в системе.
Вывод: у меня смутное чувство что вы мудрите, показали бы код и объяснили бы что эта у вас за DLL такая.
|