Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > ошибка IsDerivedFrom для класса из dll


Автор: 17dufa 30.7.2009, 14:44
добрый день.
есть библиотека с классом:
Код

class __declspec(dllexport) CUserDoc : public COleDocument

в приложении подключаю эту библиотеку и пытаюсь зарегистрировать шаблон документа по этому классу:
Код

     CMultiDocTemplate * pUserDocTemplate;
     pUserDocTemplate = new CMultiDocTemplate(
         330,
         RUNTIME_CLASS(CUserDoc),
         RUNTIME_CLASS(CChildFrame),
         RUNTIME_CLASS(CUserTreeView));
     AddDocTemplate(pUserDocTemplate);


на конструкторе CDocTemplate он и падает. не проходит проверку:
Код

ASSERT(pDocClass == NULL ||
    pDocClass->IsDerivedFrom(RUNTIME_CLASS(CDocument)));

вообще никаких идей, что может быть не так.
подскажите?

Автор: Earnest 31.7.2009, 07:39
1) Библиотека обязательно должна быть конфигурирована как Extension DLL
2) Класс документа должен быть наследников CDocument и включать макрос DECLARE_DYCREATE

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)