Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.08;
Скачать: CL | DM;

Вниз

Общение между приложениями   Найти похожие ветки 

 
Castello   (2008-09-28 22:54) [0]

Нужно сделать следующее. Есть некоторое приложение (мной написанное), тихо запускается, выполняет свою работу и не делает никаких оповещений (ни в окна, ни на консоль). Это, так сказать, его рабочий режим.

Но иногда нужно проверить, как проходит в нём работа. Что-то вроде Debug-режима. Только выглядеть это должно так: другое моё приложение запускает первое (скажем, с каким-нибудь ключём) и должно контроллировать его: отслеживать, что процесс выполняется и получать от него сообщения. Т.е. чтобы можно было вывести что-то типа progress bar для него.

Как это реализовать?


 
Eraser ©   (2008-09-28 23:35) [1]

> [0] Castello   (28.09.08 22:54)


> Но иногда нужно проверить, как проходит в нём работа. Что-
> то вроде Debug-режима. Только выглядеть это должно так:
> другое моё приложение запускает первое (скажем, с каким-
> нибудь ключём) и должно контроллировать его: отслеживать,
> что процесс выполняется и получать от него сообщения. Т.е.
> чтобы можно было вывести что-то типа progress bar для него.
>
> Как это реализовать?

через named pipes проще всего.


 
@!!ex ©   (2008-09-28 23:38) [2]

Для прогресс бара вполне достаточно стандартных виндовых сообщений.


 
Германн ©   (2008-09-29 00:19) [3]

Ну и о TCP/IP не стоит забывать. Тогда можно будет контролировать с другого компьютера в сети. И при этом отпадет надобность в "особом запуске" с ключом.


 
Eraser ©   (2008-09-29 00:28) [4]

> [3] Германн ©   (29.09.08 00:19)

через именованные каналы тоже можно с другово компа.


 
Германн ©   (2008-09-29 00:41) [5]


> Eraser ©   (29.09.08 00:28) [4]

Не знал.
А что про "особый запуск с ключом" в решении через именованные каналы?


 
Eraser ©   (2008-09-29 01:27) [6]

> [5] Германн ©   (29.09.08 00:41)

ну эт уже вопрос к автору )
как он там сконструирует уже. я так понял, что если процесс запущен с ключем /debug то приложение будет, грубо говоря, логировать свою работу в, к примеру, именованный канал.


 
Городской Шаман   (2008-09-29 01:34) [7]

http://www.pcmag.ru/issues/detail.php?ID=9945

Ну и еще регистрация своих сообщений RegisterWindowMessage  и отсылка SendMessage

Или memory mapped file


 
Германн ©   (2008-09-29 01:45) [8]


> Eraser ©   (29.09.08 01:27) [6]
>
> > [5] Германн ©   (29.09.08 00:41)
>
> ну эт уже вопрос к автору )
> как он там сконструирует уже. я так понял, что если процесс
> запущен с ключем /debug то приложение будет, грубо говоря,
>  логировать свою работу в, к примеру, именованный канал.
>
>

Не. Не то.
Я говоря про TCP/IP имел в виду, что данное приложение можно сделать TCPСервером, открывать всегда порт на прослушку и отправлять в этот порт информацию только если к этому порту подсоединён хотя бы один клиент. Имхо, накладные расходы в данном варианте самые низкие при сохранении полной универсальности.


 
Дмитрий Белькевич ©   (2008-09-29 03:21) [9]

Есть, кстати, еще такая замечательная штука, как TIdSysLog. Со стандартным протоколом и множеством разных "смотрелок". Её можно хоть в инете удалённо юзать. Очень бывает полезно, на самом деле...


 
Дмитрий Белькевич ©   (2008-09-29 03:23) [10]

зы: только TIdSyslogServer, конечно...


 
Slym ©   (2008-09-29 04:14) [11]

debuger.exe запускает основную прогу с перенаправлением StdIn/Out
myprog.exe /UseStdOut
прога анализирует наличие ключика и пользуется или не пользуется StdOut


 
KSergey ©   (2008-09-29 11:17) [12]

Я вот чего не понял: автор про другие компьютеры и про сеть речь вообще не вел.
Так может достаточно сделать одно приложение, котрое просто будет показывать или не будет (в зависимости от ключика) окно с прогресс баром? И этого достаточно?
Так же можно писаль логи (хотя бы просто проценты) в файл, который тут же в real-time просматривать через FAR. Хоть и с другого компьютера. Выводить в файл или нет опять же можно задавать ключиком.


 
Leonid Troyanovsky ©   (2008-09-29 11:29) [13]


> KSergey ©   (29.09.08 11:17) [12]

> Так может достаточно сделать одно приложение, котрое просто
> будет показывать или не будет (в зависимости от ключика)
> окно с прогресс баром? И этого достаточно?

Не понятно, к чему, во-ще, тут извращения.
Если консольный вывод не нужен, то достаточно было project.exe > nul

--
Regards, LVT.


 
KSergey ©   (2008-09-29 11:37) [14]

> Leonid Troyanovsky ©   (29.09.08 11:29) [13]
> Если консольный вывод не нужен, то достаточно было project.exe > nul

консолька-то все равно появится на сколько я понимаю. "по-тихому" не выйдет :)


 
Leonid Troyanovsky ©   (2008-09-29 13:04) [15]


> KSergey ©   (29.09.08 11:37) [14]

> консолька-то все равно появится на сколько я понимаю. "по-
> тихому" не выйдет :)

Слишком тихим место на погосте.

Бо, не консоль или вовсе без окна - не могут нормально
завершиться при логоф/шутдаун.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2009.11.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
8-1198161253
ZXMaster
2007-12-20 17:34
2009.11.08
chroma key DirectShow


2-1253175802
Роман
2009-09-17 12:23
2009.11.08
как связать таблице по ключевому полю средсвами делфи


15-1252052592
Kerk
2009-09-04 12:23
2009.11.08
Войнушка программ. "Вирусы"


15-1252590582
=К=
2009-09-10 17:49
2009.11.08
Задачка


15-1252640404
Дмитрий С
2009-09-11 07:40
2009.11.08
Символ неразрывного пробела