Russian Qt Forum

Qt => Общие вопросы => Тема начата: zoro86 от Август 07, 2015, 07:53



Название: Как использовать C# DLL в QT/C++ проекте
Отправлено: zoro86 от Август 07, 2015, 07:53
Коллеги добрый день...

Есть готовый исходный код и DLL файл на С# для работы с устройством...

стоит задача использовать DLL от C# в QT/С++... поиск по гуглу нечего толкового не дал, может кто сталкивался с такой задачей, или подскажет что...


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: ksk- от Август 07, 2015, 08:24
Я бы даже пытаться не стал. Проще и быстрее было бы переписать (если исходники доступны) или написать сервис-обёртку и использовать его.


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: Zerkin от Август 07, 2015, 10:31
Вероятно стоит покопать в сторону c++ cli. Была обратная задача, использовали Qt-код из dll в C# проекте, и с помощью cli удачно её решили.


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: Пантер от Август 07, 2015, 10:32
Я бы даже пытаться не стал. Проще и быстрее было бы переписать (если исходники доступны) или написать сервис-обёртку и использовать его.
Соглашусь на счет сервиса-обёртки, достаточно хорошее решение.


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: zoro86 от Август 07, 2015, 12:02
Про сервис обертку можете по подробней рассказать....



Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: Пантер от Август 07, 2015, 12:04
Делаешь на шарпе небольшую программу, которая юзает данную либу и прокидывает доступ к апи через сокет, пайп или какую-то другую технологию, а из плюсовой програмки запускаешь эту и работаешь с ней через ее апи.


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: gil9red от Август 07, 2015, 14:10
Делаешь на шарпе небольшую программу, которая юзает данную либу и прокидывает доступ к апи через сокет, пайп или какую-то другую технологию, а из плюсовой програмки запускаешь эту и работаешь с ней через ее апи.

И той проге шлешь сообщения, в которых передаются, например, имена функций и параметры, а она возвращает результат, так?


Название: Re: Как использовать C# DLL в QT/C++ проекте
Отправлено: Пантер от Август 07, 2015, 14:16
Нет. Не так. Допустим, есть АПИ функция DateTime getCurrentDateTime();, допустим, ты сделаешь текстовый протокол. Тогда твоя c++ программа спросит:

<GET_CURRENT_DATE_TIME
На что ей ответят:
>CURRENT_DATE_TIME 1438945774

И все в таком духе.