Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Необычный вывод от программы. СРОЧНО - нужна помощь! [D4, D5, Win95/98, WinME, Win2k, WinXP]


VovanV ©   (2002-01-19 12:05:00) 

Необычный вывод от программы. СРОЧНО - нужна помощь!
Пишу, я значит ПерлРедактор. Но возникла запорка с функцией проверки синтаксиса. Синтаксис можно проверять пользуясь самим perl.exe передавая ему на имя файла скрипта для проверки.
Да вот проблема...

Необходимо получить данные, которые perl.exe вывел в свое досовское окно, т.е. данные о том, где в скрипте ошибка и т.д.

Но не получается это сделать! Ранее, я на этом форуме уже видел много похожих дискуссий. Пробовал так делать - получается получить вывод от любой программы, но от perl.exe - не
получается!

Помогите, кто может! Пожалуйста!


VovanV   (2002-01-27 17:49:00) [1]

panov: А это не новый вопрос, это продолжение старого! Надо же, чтобы люди видели всю историю!


panov   (2002-01-27 08:09:00) [2]

>VovanV (27.01.02 00:01)
Для добавления вопроса создавай новую ветку.


VovanV   (2002-01-27 00:01:00) [3]

Спасибо большое! Теперь работает, так как надо!

Но есть еще один вопрос, как я могу StdError перенаправить не в файл, а в TMemo или TRichEdit ? или еще куда-нибудь?


Виктор Щербаков   (2002-01-22 08:53:00) [4]

В примере расположенном по твоей ссылке строку
hStdOutput := hOutDup;
замени на
hStdError := hOutDup;


VovanV   (2002-01-22 01:12:00) [5]

Пробовал я получать вывод способами изложенными здесь:
http://delphi.vitpc.com/mastering/stdout.htm

Но не получается! От какой-либо другой программы - вывод получаю спокойно, а от perl.exe - никак.


nikkie   (2002-01-21 17:26:00) [6]

Виктор Щербаков тебе дело говорит.

попробуй в консоли набрать
perl.exe >stdout.txt 2>stderr.txt
и посмотри куда попали сообщения об ошибках.

если ты знаешь как stdout перехватить (ну или видел обсуждения) - stderr точно также.


VovanV   (2002-01-21 16:56:00) [7]

А как перенаправить вывод в StdError ?

Но я думаю не в этом дело, так как когда просто запускаешь, то все нормально(когда не из Делфи).

Создание БАТ-файла также помогает, но только не при запуске из под Делфи. Если я его запускаю из под Делфи, то все равно никакого перенаправления вывода не происходит.

Как быть? Что делать?


Виктор Щербаков   (2002-01-21 09:53:00) [8]

>Ранее, я на этом форуме уже видел много похожих дискуссий.
>Пробовал так делать - получается получить вывод от любой
>программы, но от perl.exe - не получается!

Может perl.exe выводит сообщения об ошибках не в стандартный поток вывода, а в поток ошибок.
Отсюда вывод - попробуй перенаправить StdError а не StdOutput в файл (или еще куда).


WildWind   (2002-01-21 09:45:00) [9]

Попробуй http://synedit.sourceforge.net/


Vovochka_guest   (2002-01-21 09:00:00) [10]

perl.exe >tmpfile
Непотянет?


VovanV   (2002-01-20 12:43:00) [11]

??? где все-то?


VovanV   (2002-01-20 02:13:00) [12]

Знает кто-нибудь?


VovanV   (2002-01-19 18:50:00) [13]

Да, в этом деле скорее всего.
Я не могу ускорить рабоиу perl.exe.
Значит, надо идти другим способом.


DK   (2002-01-19 14:38:00) [14]

Я писал свой каунтер (первые шаги). Пришёл к выводу, что важную роль играет скорость выведения в консольное окно. Чем быстрее, тем лучше.
Попробуй как можно больше ускорить свой алгоритм.


Наверх

Титульная страница Поиск, карта сайта Написать письмо