Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Вниз

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


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: А это не новый вопрос, это продолжение старого! Надо же, чтобы люди видели всю историю!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.039 c
7-32354           Adonis                2001-09-07 13:11  2002.02.11  
Переменые среды


1-32209           Satrap                2002-01-24 10:19  2002.02.11  
Application.OnException


1-32240           Brand                 2002-01-27 23:09  2002.02.11  
DLL, связь с основной программой


4-32371           datch                 2001-12-14 10:06  2002.02.11  
Ярлыки Windows


1-32234           Andger                2002-01-27 15:23  2002.02.11  
Delphi виснет при палитре > 16 цветов