С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
1

Как получить объект из DLL, не используя COM?

22.09.2013, 21:22. Показов 1327. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
И так проблема:
есть класс...(уже что то класс работает всё оК)
в теории всё тоже ОКъ , но вот на практике abs(0) ((((

но захотелось большего!
знаю есть технология интерфейсов, то есть просто интерфейс без ком, (ком меня не устраивает...кроссплатформа и минимум сторонних либ нужно...)
(так же знаю что этому методу много лет и всё такое...но в интернетах как ни странно ничего рабочего ...да и вообще поучительного не нашел...может искал плохо ....не знаю.)

прошу помогите хеловордным но рабочим кодом (dll +client)
как пример можно что то такой направленности:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
class CLog{
public:
CLog();
~CLog();
 
void out(char log){std::cout<<log;}
 
};
только в интерфейсной обертке (чтоб по людски)

заранее всем большое спасибо!!!
Всем помогавшим по жизни буду благодарен

PS поправьте где не так...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2013, 21:22
Ответы с готовыми решениями:

Как получить объект Server из .dll?
Я делаю HttpModule, собираю его в .dll Подскажите плиз, как мне получить объект Server из этого...

Можно ли десериализовать объект с BinaryFormatter или SOAP не используя .dll класа
Пишу клиент и сервер приложения которые обмениваются между собой данными по средствами сокетов. Я...

Получить ссылку на объект из .dll в проекте XNA
В примере кода WinFormsContentSample_4_0.zip показано как в run time загружать модели в приложении...

DLL - как подменить функцию, используя самодельную DLL?
Очень прошу пособить, кому не трудно... . Проблема в целом не сложная: имеется сторонняя программа...

6
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
23.09.2013, 11:30 2
вот тут https://www.cyberforum.ru/com-... 63368.html лежит архив с примером объекта для общего образования
1 что мешает сделать нормальный COM и грузить фабрику самому вызывая функцию DllGetClassObject (чистокровный COM при вызове CoCreateInstance именно это и делает - грузит фабрику и вызывает у нее CreateInstance для получения объекта)?
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//файл "интерфейса" (по вашей заявке - это не COM - мы не наследуем от IUnknown, посылаем лесом соглашения о результатах вызова функций HRESULT и типе __stdcall)
class IMyObject
{
public:
    virtual void out(char log) = 0;
};
 
//файл реализации
#include <iostream>
 
class CLog:
    public IMyObject
{
public:
    CLog(void);
    virtual ~CLog(void);
 
    virtual void out(char log) {std::cout<<log;}
};
Добавлено через 2 минуты
+ если будете делать не COM вас ждут великие дела при отыскании клиентом серверного объекта на машине и обращению к объекту из другого процесса - фактически вы пройдете дорогой COM только самостоятельно
1
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 20:51  [ТС] 3
vxg, Спасибо конечно... придется искать другую дорогу
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
23.09.2013, 21:11 4
Цитата Сообщение от Крюгер Посмотреть сообщение
дорогу
а что за велосипед если не секрет?
0
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 21:15  [ТС] 5
vxg, да хотел себе (для личного юзания ) сделать что-то типа либы sdl но упрощенная и для своих нужд... естессно хочется сделать всё по людски красиво, и не бажно
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
23.09.2013, 21:25 6
с либой не работал но как не слишком обременительный финал всех интерфейсов мб замутить что то вроде xmlrpc

Добавлено через 39 секунд
...хотя на потоке данных она ляжет скорее всего
0
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 21:31  [ТС] 7
Какой то чел написал движок DGLE2 по такому же принципу, и всё относительно работает (движок просто в пример., как архитектурное решение ))) (там дефайнами выбирается как компилить с ком или без)

Добавлено через 1 минуту
там конечно свои тормоза имеются но это в связи с ОГЛ, и фиговой работой с шейдерами
0
23.09.2013, 21:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2013, 21:31
Помогаю со студенческими работами здесь

Как из ASP освободить COM объект. (Com Multi-threaded DLL)
Сваял на фоксе Multi-threaded DLL Скопировал её на сервер в каталог SCRIPTS зарегистрировал...

Как создать объект по его типу, не используя конструктор?
Необходимо создать объект, зная его тип. Activator.CreateInstanc использует конструктор, так что он...

Как получить объект из bind
Добрый день Я новичок, и столкнулся с проблемой, есть такой код (function ( $ ) { $.myFunction...

Comobox: как получить объект?
Я заполнаю компобокс списком из своих объектов так: conditionbox1.DataSource =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru