Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Класс в DLL

239
03 октября 2003 года
Dolonet
1.7K / / 20.05.2000
У меня не получается в VC++ в DLL поместить класс так, чтобы он вообще виделся. Эта Dll-ка в компилирорванном виде не принимается вообще ни Borland Delphi, ни VB6. Я думаю, это связано с какими-то патаметрами компиляции или еще с чем-то. Если не сложно, кто-нибудь пошлите плз примерчик работающей DLL-ки (с примитивным классом). Заранее спасибо!
527
03 октября 2003 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by Dolonet
У меня не получается в VC++ в DLL поместить класс так, чтобы он вообще виделся. Эта Dll-ка в компилирорванном виде не принимается вообще ни Borland Delphi, ни VB6. Я думаю, это связано с какими-то патаметрами компиляции или еще с чем-то. Если не сложно, кто-нибудь пошлите плз примерчик работающей DLL-ки (с примитивным классом). Заранее спасибо!


А ты какой модификатор использовал при описании класса? Вообще надо написать
class AFX_EXT_CLASS CClass
{
CClass();
~CClass();
};
И все функции будут экспортированы при создании DLL
Когда же ты включишь header(VC++ 7) при создании EXE они будут импортированны.

239
03 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by pavor

А ты какой модификатор использовал при описании класса? Вообще надо написать
class AFX_EXT_CLASS CClass
{
CClass();
~CClass();
};
И все функции будут экспортированы при создании DLL
Когда же ты включишь header(VC++ 7) при создании EXE они будут импортированны.



У меня какие-то проблемы с самим проектом, т.к. даже с Симпл Проджектом он выдает ошибку при подключении. Если не сложно, выложи сам проектик или пошли мне его на[EMAIL=dolonet@mail.ru]dolonet@mail.ru[/EMAIL].

239
04 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Ой! Я не увидел... У меня ведь VC++6, а не 7. Там тоже отличия существенные. На VC++6 Есть ли у Вас пример?
527
10 октября 2003 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by Dolonet
Ой! Я не увидел... У меня ведь VC++6, а не 7. Там тоже отличия существенные. На VC++6 Есть ли у Вас пример?


В данной области существенных отличий нет, т. к. даже в help для таких примеров пишется:
Some samples, such as this one, have not been modified to reflect the changes in the Visual C++ wizards, libraries, and compiler, but still demonstrate how to complete your desired task.
Я еще забыл написать, что после компиляции DLL при компиляции exe надо в опциях проекта для linker дополнительно подключить статическую библиотеку <dllname>.lib, которая создается при компиляции DLL. А макрос AFX_EXT_CLASS, по идее, если и отсутствует в VС++6, то у него есть аналог который точно упомянут в документации по DLL.

3
11 октября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by pavor

В данной области существенных отличий нет, т. к. даже в help для таких примеров пишется:
Some samples, such as this one, have not been modified to reflect the changes in the Visual C++ wizards, libraries, and compiler, but still demonstrate how to complete your desired task.
Я еще забыл написать, что после компиляции DLL при компиляции exe надо в опциях проекта для linker дополнительно подключить статическую библиотеку <dllname>.lib, которая создается при компиляции DLL. А макрос AFX_EXT_CLASS, по идее, если и отсутствует в VС++6, то у него есть аналог который точно упомянут в документации по DLL.



AFX_EXT_CLASS раскрывается в банальные
__declspec(dllimport)
и
__declspec(dllexport)

239
11 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Green


AFX_EXT_CLASS раскрывается в банальные
__declspec(dllimport)
и
__declspec(dllexport)



А мне экспорт или импорт надо?
Вроде экспорт...

3
11 октября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Dolonet


А мне экспорт или импорт надо?
Вроде экспорт...



В DLL, где определен и реализован класс - экспорт,
а там куда эта DLL подключается - импорт.

239
13 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Green


В DLL, где определен и реализован класс - экспорт,
а там куда эта DLL подключается - импорт.



Пасиба... гляну может получится...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог