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

Вниз

Необычный вывод от программы. СРОЧНО - нужна помощь!   Найти похожие ветки 

 
VovanV   (2002-01-19 12:05) [0]

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

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

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

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


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

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


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

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


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

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


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

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


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

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


 
WildWind ©   (2002-01-21 09:45) [6]

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


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

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

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


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

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

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

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

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


 
nikkie ©   (2002-01-21 17:26) [9]

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

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

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


 
VovanV   (2002-01-22 01:12) [10]

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

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


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

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


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

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

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


 
panov ©   (2002-01-27 08:09) [13]

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


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

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



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
1-32297
Abajun
2002-01-28 13:39
2002.02.11
Обработка исключительных ситуаций


1-32218
Sergey Novoselow
2002-01-25 06:02
2002.02.11
Как разложить выражение 200101 на 2001 и 01


14-32344
Sheva
2001-12-20 15:30
2002.02.11
Подскажите, пожалуйста.


3-32145
Corte
2002-01-16 06:33
2002.02.11
ОШИБКА


3-32171
Andrey007
2002-01-15 09:51
2002.02.11
Direct Oracle Access.