Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Снова о Process 
V
    Опции темы
Loncaster
Дата 9.4.2007, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 8.8.2006

Репутация: нет
Всего: нет



Вообщем продолжая тему компилятора паскаля. Пытаюсь вызвать из Сшарп проги этот самый команд лайн компилятор и перенаправить его вывод в свою прогу:

Код

Process p = new Process();
            p.StartInfo.FileName = @"e:/hub/Pascal/BIN/TPC.exe";
           p.StartInfo.Arguments = "filename.pas";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.Start();
            this.richTextBox1.Text = p.StandardOutput.ReadToEnd();


Вообщем проблема в том, что запускается пустое досовское окошко и тут же закрывается. Т.е. вроде как оно и запускается, но фактически ничего не происходит. В то же время путь указан правильно, так как экзепшенов не возникает (да и окошко то все-таки вызывается)..Вообщем я вообще непонимаю почему неработает. 

Не из проги я юзаю компилятор так:

1) Вызываю CMD
2) Оттуда уже вызываю TPC.EXE filename.pas  и оно его компилит. 

А тут вообще ничего не происходит...
--------------------
Ще не вмерла Україна...
PM MAIL   Вверх
Void
Дата 9.4.2007, 21:22 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Перенаправление вывода не работает с 16-битными приложениям.
Решение проблемы описано здесь.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Loncaster
Дата 9.4.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 8.8.2006

Репутация: нет
Всего: нет



Дык там не на Сишарпе ...
--------------------
Ще не вмерла Україна...
PM MAIL   Вверх
Ch0bits
Дата 9.4.2007, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Loncaster
Надо зрить в корень. Язык - инструмент, ты смотри как это работает, а не Copy&Paste делай.
PM WWW   Вверх
Loncaster
Дата 9.4.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 8.8.2006

Репутация: нет
Всего: нет



Дак каким образом я пойму как оно работает, если незнаю языка на котором оно описывается.
--------------------
Ще не вмерла Україна...
PM MAIL   Вверх
Void
Дата 9.4.2007, 22:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Loncaster, а английский знаешь?
Без подкола, просто всё, что тебе нужно, описано в самом конце и никакого знания C++ не требуется.

Вкратце, для того, чтобы читать из перенаправленного потока вывода 16-битного процесса в WinNT нужен промежуточный 32-битный процесс, вроде cmd.exe, и простейший способ создать его — это вызывать программу не напрямую, а с помощью bat-файла:
Код
REM stub.bat
%1 %2 %3 %4 %5 %6 %7 %8 %9

И вызывать stub.bat myprog.exe arg1 arg2 и т. д.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Loncaster
Дата 11.4.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 8.8.2006

Репутация: нет
Всего: нет



Всем спасибо, особенно Воиду) Компилятор успешно запускается)
--------------------
Ще не вмерла Україна...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.