FreeProcess - Kommunikation mit einem Prozess

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Artemis

Betreff: FreeProcess - Kommunikation mit einem Prozess

BeitragSo, Dez 09, 2007 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

ich möchte mittelt FreeProcess ImageMagick dazu bewegen, mir Bildmaße auszuspucken:
Code: [AUSKLAPPEN]
SuperStrict

Framework Pub.FreeProcess

Global proc:TProcess = TProcess.Create("identify.exe -format ~q%[fx:w]x%[fx:h]~q 1.jpg",0)

Local r:String

While proc.status() And proc.pipe.readavail()
   r :+ Chr(proc.pipe.ReadByte())
Wend

proc.terminate()

WriteStdout r.Trim()

End


Eigentlich funktioniert es auch gut, Problem ist jedoch, dass oft (90%) nicht ausgegeben wird und selten (10%) die Maße.

Weiß jemand, was vielleicht bei meinen Aufrufen falsch ist?
  • Zuletzt bearbeitet von Artemis am So, Jan 06, 2008 21:38, insgesamt einmal bearbeitet
 

#Reaper

Newsposter

BeitragSo, Dez 09, 2007 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

so wie es aussieht, machst du ein wenig den selben fehler wie ich damals Wink
Du willst schon was auslesen, auch wenn evt. noch nichts da ist
Schau mal hier: https://www.blitzforum.de/foru...hp?t=22648
Oder?
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Artemis

BeitragSo, Dez 09, 2007 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Meins ist so, wie die Vorschläge im anderen Thread.

Ich habe aber jetzt den Fehler gefunden: Ich muss auch wenn der Prozess beendet wurde weiter den Stream auslesen:
Code: [AUSKLAPPEN]
SuperStrict

Framework Pub.FreeProcess

Global proc:TProcess = TProcess.Create("identify.exe -format ~q%[fx:w]x%[fx:h]~q 1.jpg",0)

Local r:String

While proc.status()
   While proc.pipe.readavail()
      r :+ Chr(proc.pipe.ReadByte() )
   Wend
Wend
While proc.pipe.readavail()
   r :+ Chr(proc.pipe.ReadByte() )
Wend

proc.terminate()

WriteStdout r.Trim()

End

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group