Просмотр полной версии : [Вопрос] И снова вопрос по pawncc.exe C#
MuhammadPawn
23.07.2017, 12:37
Добрый день
не давно на форуме создавал тему как скомпилировать определённый файл
Дело в том что при нормальной компиляции всё пишет нормально
Но если в коде допустить ошибку то по чему-то в диалог возвращает токо количество ошибок
Как можно это исправить?
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"pawno\pawncc.exe";
p.StartInfo.Arguments = string.Format("-iinclude {0} -;+ -v2 -d3 -\\)+", files);
p.Start();
string output = p.StandardOutput.ReadToEnd();
MessageBox.Show(output);
https://pp.userapi.com/c836727/v836727235/5478b/_pFen_6q7Rs.jpg
Fallen A.
23.07.2017, 15:13
Что говорит свойство StandardError?
- - - Добавлено - - -
Как вариант. Писал на коленке.
Process ProcessCompile = new Process();
ProcessStartInfo ProcessCompileInfo = new ProcessStartInfo(@"pawno\pawncc.exe", string.Format("-iinclude {0} -;+ -r -w 203 -d3 -O2 -\\)+", files) );
ProcessCompileInfo.UseShellExecute = false;
ProcessCompileInfo.RedirectStandardError = true;
ProcessCompile.StartInfo = ProcessCompileInfo;
ProcessCompile.Start();
StreamReader reader = ProcessCompile.StandardError;
Console.WriteLine( reader.ReadLine() );
reader.Close();
MuhammadPawn
23.07.2017, 18:12
Что говорит свойство StandardError?
- - - Добавлено - - -
Как вариант. Писал на коленке.
Process ProcessCompile = new Process();
ProcessStartInfo ProcessCompileInfo = new ProcessStartInfo(@"pawno\pawncc.exe", string.Format("-iinclude {0} -;+ -r -w 203 -d3 -O2 -\\)+", files) );
ProcessCompileInfo.UseShellExecute = false;
ProcessCompileInfo.RedirectStandardError = true;
ProcessCompile.StartInfo = ProcessCompileInfo;
ProcessCompile.Start();
StreamReader reader = ProcessCompile.StandardError;
Console.WriteLine( reader.ReadLine() );
reader.Close();
а как исправить вот к примеру у меня есть путь с русским именем
C:\Users\Виктор\Desktop\pawntest.pwn
то он пишет типо нет файла pawn.p закинул на диск C и всё норм компилировало
Fallen A.
23.07.2017, 18:20
С путями сложнее.
По теме: ошибки теперь показывает?
MuhammadPawn
23.07.2017, 18:31
С путями сложнее.
По теме: ошибки теперь показывает?
Ошибки да но с путём проблема ;c
Seregamil
23.07.2017, 19:03
А никак вы путь не сделаете, если там используется кириллица. Это багфитча такая.
Можно клонировать файл в директорию без кириллицы и там работать с ним.
Если можно передать в pawncc текст скрипта - еще проще, считываете в кодировке 1251, благо при считывании пути к файлу File.ReadAllText не ругается на кириллицу в пути.
Fallen A.
23.07.2017, 19:57
А никак вы путь не сделаете, если там используется кириллица. Это багфитча такая.
Можно клонировать файл в директорию без кириллицы и там работать с ним.
Если можно передать в pawncc текст скрипта - еще проще, считываете в кодировке 1251, благо при считывании пути к файлу File.ReadAllText не ругается на кириллицу в пути.
Не знаю, как работает этот самый "путь", но у c# с путями проблем нет. Можно делать через temp файл.
MuhammadPawn
24.07.2017, 04:21
Я так понимаю есть токо решение перемещать файл к примеру на диск C а после компиляции обратно по указаному пути
P.S щас в самом компиляторе увидел что за место русского пути он пишет на какой-то другой кодировке (CP1252)
и да если компилировать с ошибками в коде всё норм ошибки показывает вот если без ошибок скомпилировать
https://pp.userapi.com/c841129/v841129848/a8a2/tF53S_5n1Ak.jpg
Щас ещё нашол кое-что если к примеру в папке которой есть пробел он считает за файл
к примеру идёт Pawn Test\test.pwn то он в компиляторе пишет первое слово из папки
MuhammadPawn
24.07.2017, 12:12
Исправил путь делаю через \"{0}\"
Fallen A.
24.07.2017, 21:51
Ощущение, будто мы здесь все должны делать за тебя.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot