Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Управление одной программой из другой, как сделать


Автор: gesper 25.6.2013, 10:42
Нужны подсказки, какими способами можно выполнить связь между двумы программами.

Суть такая:

1. В работе весит основная программа работающая с БД, выводящая отчеты в офис и т.п.
2. Запускается вторая программа с параметрами командной строки определяющими что нужно сделать с первой программой.

В одной CAD платформе сделаю свою панель инструментов, под действиями кнопок будет запуск второй программы с разными параметрами.

Кроме как организовать соединение между программами по TCP/IP через 127.0.0.1, и посылать управляющие команды в голову больше ничего не лезет. Не знаю насколько это корректно будет, может есть еще варианты аналогичные?

Автор: Poseidon 25.6.2013, 11:22
Если обе программы твои, то SendMessage и PostMessage вполне подойдут.

Автор: gesper 25.6.2013, 11:25
Но тогда будет привязка к ОС Windows так ?

Автор: MetalFan 25.6.2013, 12:00
Цитата(gesper @  25.6.2013,  10:42 Найти цитируемый пост)
Кроме как организовать соединение между программами по TCP/IP через 127.0.0.1, и посылать управляющие команды в голову больше ничего не лезет.

Нормальное решение, раз больше ничего не лезет) все равное все остальные решения в итоге приведут к тому же.

Автор: kami 25.6.2013, 12:29
Цитата(gesper @  25.6.2013,  10:42 Найти цитируемый пост)
организовать соединение между программами по TCP/IP через 127.0.0.1

Если на локальном компьютере - то лучше NamedPipes, тогда не будет проблем с файрволллом. А в случае, если не нужно передавать параметры (или же можно ограничится двумя) - то можно Send/PostMessage
Если возможен запуск на разных машинах - то да, лучше TCP/IP.

Вообще - полный список возможностей - http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)