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


Автор: kurlyak 10.11.2007, 16:29
Вот в MSDN говориться об экспорте классов и их функций так:
Цитата

Sometimes you may want to export individual members of your class. For example, if you are exporting a CDialog-derived class, you might only need to export the constructor and the DoModal call. You can use AFX_EXT_CLASS on the individual members you need to export.

Код

For example:

   class CExampleDialog : public CDialog
   {
   public:
     AFX_EXT_CLASS CExampleDialog();
     AFX_EXT_CLASS int DoModal();
     ...
     // rest of class definition
     ...
   };

Т так пробывал, как говориться в MSDN:
Код

In the header file for your DLL, add the AFX_EXT_CLASS keyword to the declaration of your class as follows:

class AFX_EXT_CLASS CMyClass : public CDocument
{
// <body of class>
};


Так вот, у меня вопрос- что писать в .def файле Dll, как в разделе файла EXPORTS описать сам класс CMyDlg и функци конструктора и DoModal для этих двух кодов, что я привел в примере с MSDN?

Добавлено через 1 минуту и 29 секунд
И как мне сделать функцию в Dll DoModal(), что бы запускался диалог (ресурс диалога тоже в моей Dll).

Автор: kurlyak 10.11.2007, 17:03
Я пишу в моей Dll вот так:
Код

int CMyDlg::DoModal(void)
{
    DoModal();
    return 0;
}

Когда вызваю Dll из моей программы, то отладчик мне останавливаеться с ошибкой и показывает строку с DoModal();. Как мне вызвать диалог?

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