![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.03.2013
Сообщений: 13
|
![]()
Доброго времени суток.
Есть потребность экспортировать из DLL не отдельные функции, а сразу целый класс. Предполагал сделать это простым способом: Код:
Почитал про COM+ и прослезился - неужели это всё надо делать чтобы экспортировать из DLL простой класс, который будет считать довольно тривиальную математику? Есть ли какие-то другие способы кроме COM+ чтобы экспортировать из DLL класс? |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]()
Экспорт объектов класса сразу накладывает зависимость от транслятора, что неприменимо для COM.
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() Цитата:
Тогда никаких проблем с обратной совместимостью не будет. Эскпорт класса все равно что эскпорт функции с аргументом в виде структуры. Сама библиотека С++ экспротирует классы, и ничего, живет... |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
DLL Hell там будет в том что экспорт через __declspec(dllexport) гарантировано работет внутри одной версии компилятора, между разными компилями и разными версиями работа не гарантируется.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 | ||
Пользователь
Регистрация: 04.03.2013
Сообщений: 13
|
![]() Цитата:
Цитата:
Последний раз редактировалось Stilet; 21.09.2015 в 17:42. |
||
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
там же написано что нет.
там и есть тоже самое что делает COM. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() Цитата:
А вот если библиотека одной версии а программа другой версии, тогда могут происходить интересные вещи - имена методов одни и те же а вот количество данных в классе разное. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Як вызвать функцию из 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 |