Russian Qt Forum

Qt => Общие вопросы => Тема начата: Alex_C от Сентябрь 07, 2012, 12:41



Название: Взаимодействие с программой на Delphi
Отправлено: Alex_C от Сентябрь 07, 2012, 12:41
Есть программа, которая написана на Delphi. Она считывает данные с устройств. Чтобы одновременно данные с устройств могли получать несколько программ, та программа, что непосредственно считывает устройства, представляет из себя COM Server, к которой подключаются другие программы.
Хотел переписать COM Server (он сейчас тоже на Delphi написан) на Qt. Но по документации Qt-COM server не поддерживает клиентов, написанных на Delphi. Вопрос: чем заметить COM Server с тем расчетом, что в будущем была и возможность кросс-платформенной реализации?
Пока только на ум приходит использовать сокеты. В данном случае вопрос в скорости реагирования - данные с устройств приходят несколько раз в секунду - скорость работы через сокеты вроде как по данному показателю проходит.
Вообще хотелось бы в идеале ту программу, что сейчас написана на Delphi и является клиентом COM-server'а переделывать в минимальном объеме.
Может у кого какие будут советы?


Название: Re: Взаимодействие с программой на Delphi
Отправлено: Пантер от Сентябрь 07, 2012, 12:44
Сокеты - хорошее решение.


Название: Re: Взаимодействие с программой на Delphi
Отправлено: xokc от Сентябрь 07, 2012, 15:02
1. Переписать нынешний COM сервер на Qt с трансяцией данных в локальные сокеты.
2. Написать COM сервер на Delphi по интерфейсам, совместимый с нынешним, принимающий данные по локальным сокетам от новой Qt программы и отдающий их действующим COM клиентам.

При таком подходе не нужно будет переписывать действующие COM клиенты.