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

Ваш аккаунт

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

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

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

Экспортируемые классы в DLL

279
29 июня 2006 года
bave
456 / / 07.03.2004
А у меня трабл - не получается классы в DLL-ку запихнуть...
Вот такие вот ворнинги выдаются:
: warning C4091: '__declspec(dllexport ) ' : ignored on left of 'class BPACKER' when no variable is declared
warning C4091: '__declspec(dllexport ) ' : ignored on left of 'class BUNPACKER' when no variable is declared
-----------------------------------------
нафиг они игнорируются то?
398
29 июня 2006 года
Alexandoros
630 / / 21.10.2005
По сути ты хочеш на експорт отправить интерфейс класа, а нужно отправлять переменную.

__declspec(dllexport ) CMyClass MyClass;

Ну а с експортными класами ты еще натрахаешся ;)
279
29 июня 2006 года
bave
456 / / 07.03.2004
Так в том то и дело, что мне надо сделать експортируемым сам класс, а не объект класса.
398
29 июня 2006 года
Alexandoros
630 / / 21.10.2005
Типа прикалываешся? Так седня еще не пятница.
Через хедеры клас експортируют.

Или тебе нужен COM - там уже именно класс импортируется / експортируется.
1.8K
29 июня 2006 года
k3Eahn
365 / / 19.12.2005
Хм...
А так всё работает:
 
Код:
class __declspec(dllexport) Foo

{[INDENT]...

[/INDENT]}
398
29 июня 2006 года
Alexandoros
630 / / 21.10.2005
[QUOTE=k3Eahn]Хм...
А так всё работает:
[/QUOTE]

И дык че - полностью работает или просто компилится? Можно импортировать клас из длл? Если нетрудно, можеш проектик прицепить, или хоть кусок исходника?

++ Добавлено

Чето я припоминаю, дето про импорт из длл говорили. Вот немогу вспомнить где и вышло ли че нибудь. Кажись обязательным условием было наличие в класе тока виртуальных методов. Хотя как тогда с конструктором быть?

Вообщем искать лень, а так бы прочитал. bave Найдеш решение - запости плиз :)
249
29 июня 2006 года
DissDoc
639 / / 01.10.2004
На самом деле проще и быстрее через COM делать ;) А так как автор делает... хм. смело =)
1.8K
29 июня 2006 года
k3Eahn
365 / / 19.12.2005
[quote=Alexandoros]И дык че - полностью работает или просто компилится? Можно импортировать клас из длл? Если нетрудно, можеш проектик прицепить, или хоть кусок исходника?
[/quote]
Вы хотите проектиков? Их есть у меня:
279
29 июня 2006 года
bave
456 / / 07.03.2004
2 k3Eahn
Базаришь - вот так class __declspec(dllexport) - действительно всё работеат теперь...
( по привычке указал экспорт до ключевого слова класса ( как у функции) поэтому и не пахало)
--------------------------------------------------
2 Alexandoros
Так я в хедере экспорт и указываю вообщето... Где ты увидел
в моём посте, что я указываю его не там????
279
29 июня 2006 года
bave
456 / / 07.03.2004
Блин.... Как оказалось, всё равно траблы проявляются если делать экспортными классы
у которых есть потомки... - вообщем базовые классы потом не хотят
импортироваться из DLL, а классы потомки импортируются нормально,
но им становятся недоступны методы базового класса. Если переопределять методы базового класса в потомках делая их виртуальными, а внутри них вызывать методы базового, то тогда
они становятся доступными, но ошибки уже вылетают в процессе выполнения приложения...
-----------------------------------------------------------------
1.8K
30 июня 2006 года
k3Eahn
365 / / 19.12.2005
к0да н3т и н3 буд3т?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог