Всем привет. Возникла необходимость передавать данные из одного ПО в другое.
Обе - оконные.
Одна вызывает другую через TProcess.
Вопрос: Как правильно через его свойства пайпов передать строку (строки) в запускаемую программу, как в запускаемой принять и считать эти строки и вернуть ответ?
Если не сложно - хотелось бы видеть пример.
TProcess, Пайпы. Передача данных из оконки в оконку
Модератор: Модераторы
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Если ода вызывает другую, то что мешает передать данные через параметры? Или использовать стандартную клиент-серверную схему - море примеров под делфи?
Если обе программы на FreePascal так можно использовать TSimpleIpClient/TSimpleIPServer
Стандартными:
запускаешь
> project1 [параметр]
выдает:
>'Param: [параметр]
Добавлено спустя 2 минуты 1 секунду:
как получить в главной проге параметры можно почитать тут:
http://wiki.freepascal.org/Executing_External_Programs/ru
Код: Выделить всё
program Project1;
begin
writeln ('Param: '+ParamStr(0));
end.
запускаешь
> project1 [параметр]
выдает:
>'Param: [параметр]
Добавлено спустя 2 минуты 1 секунду:
как получить в главной проге параметры можно почитать тут:
http://wiki.freepascal.org/Executing_External_Programs/ru
Понятно. Спс. Буду искать другой способ.
через TProcess сложно контролировать работу другого процесса.
Если нужно просто запустить одну через другую и отработав вторая передает перовой результат - то самое постое: классика - стандартный ввод вывод. Как пример ping команда в шеле..
Но если же нужно запустив и контролировать вторую.. проще работать в режиме клиент-сервер: Кто то будет ведущим, а кто то станет ведомым..
реализаций много: TSimpleIpClient/TSimpleIPServer, TCP/UDP, ShareMemory, Pipe(Windows)/DBUS(Linux)...
Если нужно просто запустить одну через другую и отработав вторая передает перовой результат - то самое постое: классика - стандартный ввод вывод. Как пример ping команда в шеле..
Но если же нужно запустив и контролировать вторую.. проще работать в режиме клиент-сервер: Кто то будет ведущим, а кто то станет ведомым..
реализаций много: TSimpleIpClient/TSimpleIPServer, TCP/UDP, ShareMemory, Pipe(Windows)/DBUS(Linux)...
