Страница 1 из 1

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

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

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

СообщениеДобавлено: 28.04.2018 12:28:35
sts
кратко - да

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

Добавлено спустя 5 минут 26 секунд:
чет сходу не нашел может ли фпц делать COM сервера

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

СообщениеДобавлено: 28.04.2018 12:38:34
xterro
Ещё вопрос, при реализации своего COM сервера получается что мне надо и эту либу с собой таскать? Или её можно внедрить в COM чтобы на выходе был один файлик (моя dll), который я уже буду юзать из системы?

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

СообщениеДобавлено: 28.04.2018 12:39:16
sts
ну судя по вопросам в форумах - может (dll)

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

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

Добавлено спустя 5 минут 2 секунды:
судя по описанию фпц может линковать статические C либы (*.lib????)

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

СообщениеДобавлено: 28.04.2018 12:51:16
xterro
Покопался в архиве с кодами, даже уже есть заглушки, сделанные для Delphi, это радует, остаётся набросать скелет COM сервера и дергать функции либы через эти заглушки :)

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

СообщениеДобавлено: 28.04.2018 12:56:45
sts
там даже *.obj файлы можно получить компилируя bcc32, такчто нормально все должно быть, сначала отработать на отдельной dll а потом вкомпилить в COM dll

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

СообщениеДобавлено: 28.04.2018 13:03:21
xterro
Надыбал пример написания COM сервера(вдруг кому понадобится) http://forum.lazarus.freepascal.org/ind ... ic=10938.0