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

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

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

Студворк — интернет-сервис помощи студентам
И так проблема:
есть класс...(уже что то класс работает всё оК)
в теории всё тоже ОКъ , но вот на практике 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2013, 21:22
Ответы с готовыми решениями:

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

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

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

6
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
23.09.2013, 11:30
вот тут 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  [ТС]
vxg, Спасибо конечно... придется искать другую дорогу
0
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
23.09.2013, 21:11
Цитата Сообщение от Крюгер Посмотреть сообщение
дорогу
а что за велосипед если не секрет?
0
 Аватар для Крюгер
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 21:15  [ТС]
vxg, да хотел себе (для личного юзания ) сделать что-то типа либы sdl но упрощенная и для своих нужд... естессно хочется сделать всё по людски красиво, и не бажно
0
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
23.09.2013, 21:25
с либой не работал но как не слишком обременительный финал всех интерфейсов мб замутить что то вроде xmlrpc

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

Добавлено через 1 минуту
там конечно свои тормоза имеются но это в связи с ОГЛ, и фиговой работой с шейдерами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2013, 21:31
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru