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


Автор: Andrey44 3.8.2007, 17:13
Подскажите пожалуйста как вставить свой класс в DLL 

и потом в программе создавать объекты этого класса и пользоваться его методами?

Все как обычно описывается в заголовочном файле или как-то по-другому? smile 

Автор: Earnest 3.8.2007, 19:54
Все как обычно. Только класс нужно из DLL экспортировать, а в другие модули - импортировать.
Для экспорта нужно объявить класс как __declspec(dllexport), а для импорта - как __declspec(dllimport).

Удобне всего делать так:
1) заводим специальный заголовочный файл, допустим, MyDll.h примерно с таким содержимым:
Код

#ifdef _MYDLL
   #define MY_API __declspec(dllexport)
#else
   #define MY_API __declspec(dllimport)
#endif


2) Во все экспортируемые классы (в заголовки, где они определены) добавляем MyDll.h
При этом объявления классаов и функций выглядят так:

Код

class MY_API SomeClass
{

};

MY_API void SomeGlobalFunc (int);

3) В свойствах проекта MyDll определяем макросимвол _MYDLL

4) Клиентское приложение для доступа к классам и функциям использует те же самые заголовки...

Автор: Andrey44 4.8.2007, 08:26
Спасибо Earnest буду пробовать. smile 

Но думаю будут ещё вопросы smile  smile 

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