Asynchroner Lesevorgang von Commandline in GUI
-
Hallo zusammen,
ich versuche zurzeit während der Laufzeit meines Commandozeilen-Tools den Standardoutput abzufangen und auf meiner GUI auszugeben.
Ich habe folgenden Code (ich hoffe ich stelle ihn hier im Forum korrekt dar)
private: Void button1_Click(System::Object^ sender, System::EventArgs^ e) { p->StartInfo->FileName = CMD_INTERFACE; p->StartInfo->UseShellExecute = false; p->StartInfo->ErrorDialog = false; p->StartInfo->RedirectStandardOutput = true; p->StartInfo->RedirectStandardError = true; p->EnableRaisingEvents = true; /* p->StartInfo->CreateNoWindow = true; */ output = gcnew StringBuilder(""); p->Start(); p->OutputDataReceived += gcnew DataReceivedEventHandler(this,&menue::outputHandler); p->BeginOutputReadLine(); this->textBox1->Text = output->ToString(); } private: Void outputHandler(Object^ sender, DataReceivedEventArgs^ outLine) { if(!String::IsNullOrEmpty(outLine->Data)) { output->Append(outLine->Data); } }
Es tut sich leider jedoch gar nichts. Beim Debuggen springt er nicht einmal in die outputHandler Funktion. Was mache ich falsch?
Grüße Crusaderxx