View previous topic :: View next topic |
Author |
Message |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 21:25 Post subject: |
|
|
В том то и дело, что пока син выполняет >%Temp%\synWr$$.txt
он не может обратиться к файлу пока не завершит запись, а она не закончиться так как демон работает постоянно.
Но ситуация проясняется.
Думаю стоит попробовать реализовать или загрузку строки не в файл а в масив, либо же сделать опцию которая будет регулировать из какого файла делать загрузку и при каком событии.
Сейчас в голову пришла идея смотри.
при выполнении акого сложного вызова
Code: | cmd /c start cmd /k "c:\Program Files\nodejs\Node.exe" "d:\dev\server.js" |
Происходит вызов нового процесса с выводом в консоль ответа обработчика не в прямом потомке командной строки от Син а в НОВОМ процессе командной строки. Можно доработать строку вызова таким образом что бы формировать НОВЫЙ файл отчета, к примеру synTemp$$.txt
Code: | cmd /c start cmd /k '"c:\Program Files\nodejs\Node.exe" "d:\dev\server.js">%Temp%\synTemp$$.txt' |
Почему нужен имено новый? Потому что сейчас при попытке добавить в synWr$$.txt возвращается ответ
The process cannot access the file because it is being used by another process.
И всё что останеться это прикрутить в Син опцию где в ручную можно будет указан файл обмена консольными ответами. И подцепить функцию чтения файла (и вывода её в панель Вывод в самом Син) с задержкой скажем в 5 секунд, и каждые пять секунд добавлять новую запись в панель либо очищать и перезаписывать её.
Тоесть три опции получается:
Путь файла отчета внешнего обработчика
Время интервала опроса файла
Режим перезаписи панели Вывода
Таким образом мы сможем производить вывод консоли от внешнего обработчика который будет НЕЗАВИСИМО работать от самого Син.
п.с.
пока что же, я наблюдаю ответы Node.exe в черном окне CMD пускай не идеальный вариант но работает.
Posted after 10 minutes:
меня осинило. Всё проще чем мы думали.
ты говорил
Quote: | cmd.exe /c"здесь комстрока" >%Temp%\synWr$$.txt |
просто замени cmd.exe /c на
cmd /c start cmd /k
и стандартный вариант с synWr$$.txt должен заработать как нужно в новом процессе.
п.с. в нашем случае нужно правда вместо /k писать /c что бы консоль пропадала. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 22:03 Post subject: |
|
|
-просто замени cmd.exe /c на
cmd /c start cmd /k
Чтото не вижу как он заработает. все равно первый cmd будет ждать завершения процесса-но не дождется... _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 22:08 Post subject: |
|
|
команда START запускает новый процесс без ожидания его завершения.
что бы cmd начал ждать с командой start нужно применять параметр /w а без него это что то вроде асинхронного запуска. Дочирний процес запускается, а родительский продолжает свою работу забывая о том что у него был произведен вызов. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 22:24 Post subject: |
|
|
Это да. но после запуска 2й консоли через start первая закроется, вывод ее -почти никакой- покажется в Сине. т.е. вывод демона не захватится. тут надо городить опции типа предложенных. Неохота для такого спецслучая... _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 22:34 Post subject: |
|
|
ну впринципе да... файл будет сформирован пустой.
Но нам ничто не мешает доработать вызов, что бы файл отчета формировался второй консолью а не той что закрывается.
Тогда файл отчета будет постоянно дополняться деманом через вторую консоль, а Син при этом сможет брать из этогофайла данные для вывода.
Это попроще чем делать все эти опции. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 22:36 Post subject: |
|
|
еще: чтение вывода(другого) каждые 5 сек может быть плохо: замедлится реакция Сина, и ухудшится навигация по списку вывода- список будет дергаться и т.д. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 22:46 Post subject: |
|
|
Ладно, тогда оставим это на как нибудь потом.
как я и говорил в самом начале, через командную строку это так... вариант для ленивых.
Впринципе я себе вариант вывода информации сделал уже.
Единственое что я тебя попрошу сделать, это
выделить функцию парсинга synWr$$.txt в отдельную опцию.
Что бы можно было в ручную её вызывать по горячей кнопке независимо от того есть ли автоматическое перехватывание строк или стоит выключено.
я тогда схитрить могу
поставлю не делать перехват сток, сформирую его в ручную (своими средствами), и потом горячей кнопкой (Ф4 например) заполнять панель ответа из формированого synWr$$.txt
Тоесть всего одна опция в меню ВНЕШНИЕ ИНСТРУМЕНТЫ
всунь туда поле для определения горячей кнопки для вызова парсинга.
Остальное впринципе и не важно будет.
п.с. ну и ОБНОВИТЬ в контекстном меню самой панели вывод тоже будет в тему. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10428 Location: Россия, Саратов
|
(Separately) Posted: Wed Aug 08, 2012 07:40 Post subject: |
|
|
"Циклический поиск" или "По всему тексту". _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
kvichans

Joined: 21 Jan 2006 Posts: 453 Location: Москва
|
(Separately) Posted: Wed Aug 08, 2012 11:21 Post subject: |
|
|
Смотрю последний History Code: | + help topic "Misc -- Customizing Status Line" | Полезно. Пока можно использовать только Code: | {LineNum} Caret's line number
{ColNum} Caret's column number
{TotalLines} Total lines count
{TotalChars} Total characters count
{SelLines} Number of selected lines
{SelCols} Number of selected columns, for column blocks
{SelChars} Number of selected characters
| - Надеюсь список будет расширяться. Например, хотелось бы сюда вставить дату последней модификации в полном формате (как в Свойствах: 01.11.2012 23:55:59) или в компактном (01.11.12 23:55).
- Поскольку формирование текста доверено пользователю, то логично было бы дать ему же управление шириной панели, где этот текст появится _________________ Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0 |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
mp3svala
Joined: 26 Feb 2012 Posts: 50
|
(Separately) Posted: Sat Aug 11, 2012 12:54 Post subject: |
|
|
Alextp wrote: | + ini: пар-р задания размера статуса + макро {FileSize} {FileDate} {Filedate2}
beta | интересное нововведение, ещё бы само поле для отображение расширить, а то не всё влезает |
|
Back to top |
|
 |
|