|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2015, 15:53 | #1 |
Пользователь
Регистрация: 04.03.2013
Сообщений: 13
|
Как вызвать из DLL класс?
Доброго времени суток.
Есть потребность экспортировать из DLL не отдельные функции, а сразу целый класс. Предполагал сделать это простым способом: Код:
Почитал про COM+ и прослезился - неужели это всё надо делать чтобы экспортировать из DLL простой класс, который будет считать довольно тривиальную математику? Есть ли какие-то другие способы кроме COM+ чтобы экспортировать из DLL класс? |
21.09.2015, 15:58 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.09.2015, 16:02 | #3 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Экспорт объектов класса сразу накладывает зависимость от транслятора, что неприменимо для COM.
|
21.09.2015, 17:03 | #4 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Цитата:
Тогда никаких проблем с обратной совместимостью не будет. Эскпорт класса все равно что эскпорт функции с аргументом в виде структуры. Сама библиотека С++ экспротирует классы, и ничего, живет... |
|
21.09.2015, 17:16 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
DLL Hell там будет в том что экспорт через __declspec(dllexport) гарантировано работет внутри одной версии компилятора, между разными компилями и разными версиями работа не гарантируется.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
21.09.2015, 17:19 | #6 | ||
Пользователь
Регистрация: 04.03.2013
Сообщений: 13
|
Цитата:
Цитата:
Последний раз редактировалось Stilet; 21.09.2015 в 17:42. |
||
21.09.2015, 17:26 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
там же написано что нет.
там и есть тоже самое что делает COM. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
21.09.2015, 17:30 | #8 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
|
|
21.09.2015, 17:43 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.09.2015, 17:49 | #10 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Цитата:
А вот если библиотека одной версии а программа другой версии, тогда могут происходить интересные вещи - имена методов одни и те же а вот количество данных в классе разное. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Як вызвать функцию из dll в C# ? | Dr.Pauliss | Помощь студентам | 5 | 26.09.2011 12:42 |
Массив в dll - как разместить массив в dll и как вызвать элемент этого массива по индексу? | Кинельски | Помощь студентам | 0 | 23.05.2010 20:52 |
Как создать в Дeлфи класс в DLL для использования его в VC++ | Dmitriy.Ch | Общие вопросы Delphi | 0 | 25.07.2009 08:40 |
как вызвать в Dll по указателю функцию, которая определена в главном потоке? | SaintRain | Общие вопросы Delphi | 1 | 25.11.2006 08:27 |
как вызвать из Dll функцию, которая определена в главном потоке? | SaintRain | Win Api | 1 | 23.11.2006 20:08 |