Createprocess.... Rückgabedaten auslesen
Übersicht

danielosBetreff: Createprocess.... Rückgabedaten auslesen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen!
Also erstmal: Ich weiß, es gab schonmal so einen Thread, mein Problem ist geringfügig anders: Also, ich starte ein Konsolenprogramm mit Parametern, also quasi "Win.exe -s -d" o.ä. Nur leider kriege ich es auf Teufel komm raus nicht hin, dass die normalerweise auf der Konsole erscheinenden Texte von "Win.exe" eingelesen werden können. Bei manchen Beispielen des alten Threads wird nur die erste Zeile ausgelesen, bei anderen gar keine. ![]() Ich bitte flehend um Hilfe ^^ MfG Danielos |
||
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hättest du noch "createprocess" gesucht, wüsstest du es ![]() |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Beispiel aus einem meiner Codes:
Code: [AUSKLAPPEN] Import Pub.FreeProcess Local proc:TProcess = TProcess.Create("test param1 param2", 0) While proc.Status() Or proc.pipe.readavail() If proc.pipe.readavail() char = Chr(proc.pipe.readbyte()) (...) Das proc.Status() Or proc.pipe.readavail() braucht man, weil auch nach Beendigung des Prozesses noch Daten in der Pipe stehen können. |
||
Blog. |
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sorry hamZta, aber ich werde aus deinem code noch nicht schlau...
ich hab es geschafft, dass die ausgabe des programms als bytes, bzw. einzelbuchstaben eingelesen werden können, aber nicht, dass zeilen gelesen werden ![]() MfG Danielos |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das liegt daran, dass immer nur 1 byte gelesen wird.
Nutz einfach readbytes mit der anzahl verfügbarer bytes und mach daraus nen string (string.fromCstring( ... ) ) oder fromWString( ... ) je nachdem was du geschrieben hast) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin einfach zu blöd ^^
das von Dreamora krieg ich ohne hilfe nicht hin, und Code: [AUSKLAPPEN] Import Pub.FreeProcess Local proc:TProcess = TProcess.Create("bin\pdftk.exe", 0) Local char$ While proc.Status() Or proc.pipe.readavail() If proc.pipe.readavail() char = proc.pipe.ReadString(100) Print char EndIf Wend zeigt zwar den kompletten text, aber nur einen kurzen augenblick, weil dann eine fehlermeldung kommt... das ist auch mit sicherheit nicht der richtige weg ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group