Можно ли сделать "COM объект из DLL"?

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
xterro
постоялец
Сообщения: 148
Зарегистрирован: 23.02.2014 13:49:33

Можно ли сделать "COM объект из DLL"?

Сообщение xterro »

Приветствую, дано: некая DLL либа(если быть точным http://libharu.sourceforge.net/index.html), и имеется некая система(аля 1С style), в которой нужно использовать функционал этой либы. Но система умеет вызывать функции из DLL довольно коряво и не полностью, зато из неё вполне можно работать с COM объектами, типа вызываем obj = CreateObject(<имя класса>) и далее работаем с obj, дергая его методы. Появилась мысль, а нельзя ли как-нибудь обернуть эту либу в свой COM объект и уже его использовать в системе? Тем более что либа идёт в кодах, возможно на ёё базе можно сварганить что-то своё :?
sts
энтузиаст
Сообщения: 548
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

кратко - да

берешь, придумываешь подходящую объектную модель, набрасываешь заглушки методов, и постепенно реализуешь их по мере нужды

Добавлено спустя 5 минут 26 секунд:
чет сходу не нашел может ли фпц делать COM сервера
xterro
постоялец
Сообщения: 148
Зарегистрирован: 23.02.2014 13:49:33

Сообщение xterro »

Ещё вопрос, при реализации своего COM сервера получается что мне надо и эту либу с собой таскать? Или её можно внедрить в COM чтобы на выходе был один файлик (моя dll), который я уже буду юзать из системы?
sts
энтузиаст
Сообщения: 548
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

ну судя по вопросам в форумах - может (dll)

Добавлено спустя 3 минуты 14 секунд:
xterro писал(а):получается что мне надо и эту либу с собой таскать

по хорошему да, но теоретически можно скомпилить и прилинковать к COM dll

Добавлено спустя 5 минут 2 секунды:
судя по описанию фпц может линковать статические C либы (*.lib????)
xterro
постоялец
Сообщения: 148
Зарегистрирован: 23.02.2014 13:49:33

Сообщение xterro »

Покопался в архиве с кодами, даже уже есть заглушки, сделанные для Delphi, это радует, остаётся набросать скелет COM сервера и дергать функции либы через эти заглушки :)
sts
энтузиаст
Сообщения: 548
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

там даже *.obj файлы можно получить компилируя bcc32, такчто нормально все должно быть, сначала отработать на отдельной dll а потом вкомпилить в COM dll
xterro
постоялец
Сообщения: 148
Зарегистрирован: 23.02.2014 13:49:33

Сообщение xterro »

Надыбал пример написания COM сервера(вдруг кому понадобится) http://forum.lazarus.freepascal.org/ind ... ic=10938.0
Ответить