Standard Error wurde nicht umgeleitet [Erledigt]



  • Guten Abend zusammen,

    ich arbeite gerade an der Ausgabe eines Prozesses in C#
    und komme hier gerade überhaupt nicht weiter und wär dankbar
    für jeden sinnvollen Kommentar :p

    Es kann garantiert nicht an meiner Globalen Klasse liegen die ich testweise
    von einer Texbox auslesen lasse (es Funktioniert), darin steht nichts anderes
    als der Pfad der zu compilierenden Datei.
    Ich habe auch schon versucht mit StandartOutput zu arbeiten
    was allerdings nichts zurückliefert.

    Bei der Verlinkung von compiler.StandartError erhalt ich als Meldung

    Standard Error wurde nicht umgeleitet

    (ohne Punkt sonst wird das Word komischerweiße zensiert 😮 )

    Process compiler = new Process();
                ProcessStartInfo info = new ProcessStartInfo("luac5.1.exe");
                info.Arguments = "-o 'c:/lua.luac' '" + GlobalClass.GlobalVar + "'";
                info.RedirectStandardOutput = true;
                info.UseShellExecute = false;
                info.CreateNoWindow = true;
                compiler.StartInfo = info;
                compiler.Start();
    
                compiler.StartInfo.UseShellExecute = false;
                compiler.StartInfo.RedirectStandardError = true;
    
                System.Threading.Thread.Sleep(1000);
                textBox1.Text = GlobalClass.GlobalVar;
                StreamReader reader = compiler.StandardError;
                textBox1.Text += reader.ReadLine();
    
                compiler.Close();
    

    Hier ein Bildchen dazu 🙄
    http://img34.imageshack.us/img34/5475/errortk.png

    Habe auch schon zur späten Stunde nachgegoogelt und
    bin nur auf diesen Beitrag gestossen
    http://msdn.microsoft.com/de-de/library/system.diagnostics.process.standarderror.aspx

    Der StandardError-Stream wurde nicht für die Umleitung definiert. Stellen Sie sicher, dass ProcessStartInfo.RedirectStandardError auf true und ProcessStartInfo.UseShellExecute auf false festgelegt ist.

    Habe ich gemacht aber nichts 😞

    Danke im voraus

    - Jason 😃

    Ps: Ach ja ich habe im Vorab in der cmd.exe den Befehl ausgeführt sowie er
    oben ausgeführt werden sollte und dort bekomme ich eine (wie gewollt) eine
    Fehlermeldung heraus :p


  • Administrator

    1. Es heisst Standard mit D und nicht mit T. Weil du es falsch schreibst, wird es hier zensiert 😉
    2. Es heisst voraus mit einem R. Weil du es falsch schreibst, wird es auch zensiert.

    Sind halt so typische Fehler, welche hier sehr oft gemacht wurden, bzw. immer noch werden. Damit leistet das Forum einen minimalen Beitrag zur Ausbildung in der deutschen Sprache 😃

    3. Du musst RedirectStandardError vor dem Aufruf von Start auf true setzen.

    Grüssli



  • Wow, Dankeschön Dravere.
    Hast mir sehr damit geholfen. 😉
    Möchte mich auch nochmal für meine holprige Anfrage entschuldigen,
    hätte aber dennoch eine kleine Frage.

    Ich sitze momentan an einem InteliSense Clon
    für meine RTB (RichTextBox), das Auslesen meiner XML
    verläuft gut, trotzdem würde ich mir gerne ein fertiges
    Class.cs (Klasse) mal durchlesen, da meine gerade bei einer
    etwas größeren Auswahl an Wörtern, schnell in einer Endlosschleife endet bzw. sich das Programm da gerne aufhängt. 🙄

    Gäbe es da ein gutes Beispiel auf das man mich verlinken könnte :p
    oder gäbe es da vielleicht ein Event das ausgerufen wird wenn Vista & 7
    in den (Keine Rückmeldung) Modus verfällt 😕

    - Gruß Jason 😃


  • Administrator

    Ich glaube, dass ich dich diesmal nicht ganz verstanden habe. Daher mal schauen.

    Du hast für dein ganzes Projekt eine einzige Klasse in Class.cs geschrieben? Mit was für einem Buch lernst du programmieren? 😕
    Und du suchst nun Codebeispiele, wie man so ein IntelliSense realisieren könnte? Dann schau mal auf Codeproject nach. Hier nur mal drei Möglichkeiten:
    http://www.codeproject.com/KB/edit/codetextbox.aspx
    http://www.codeproject.com/KB/cs/diy-intellisense.aspx
    http://www.codeproject.com/KB/combobox/JGIntelli.aspx

    Die bestehen aber sehr wahrscheinlich aus mehr als einer Klasse 😉

    Grüssli



  • Hallo,

    nein mein Projekt hab ich (natürlich) nicht in einer einzigen Klasse
    geschrieben, da herscht schon seine Ordnung :p
    Würde sich auch schlecht realisieren lassen, da es sich um eine Compiler
    mit nem kleinem FTP Clienten handelt, der vielleicht mit
    Sockets erweitert wird 😉

    Arbeite der Ordnung halber dann lieber mit globalen get/set Variablen
    um zwischen meinen Form.cs Pfade abzufragen.
    Danke dir für deine hilfreichen Links 👍

    - Jason 😃


Anmelden zum Antworten