Hi,
ich habe ein kleines Script für Lame.
Der Prozess startet nicht. Wenn ich es ohne GUI mache, dann klappts. Kann mir jemand sagen, wo mein Fehler liegt.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <Array.au3>
$h = 400
$w = 400
; Metatags für MP3s bauen
$cmd = @ScriptDir &"\Lame\lame.exe"
$trenner = """"
$sMetatags = "--tt " & $trenner & "Titel" & $trenner & " " & _
"--tl " & $trenner & "Author" & $trenner & " " & _
"--ty " & $trenner & "2012" & $trenner
$ZielPfad = "C:\Dokumente und Einstellungen\Freddy.FREDDY-8ABED5F6\Eigene Dateien\Eigene Musik" ; Pfad zum Verzeichnis
$datei = "1100101 - Das Modul [copy][32k].mp3" ; Datei fürs Konvertieren
$datei_neu = "1100101 - Das Modul - Neu.mp3" ; Neue Datei von Lame
$parammeter = "--verbose --preset medium " & $sMetatags & " " & $trenner & $ZielPfad & "\" & $datei & $trenner & " " & _
$trenner & $ZielPfad & "\" & $datei_neu & $trenner & ""
$MainGUI = GUICreate("Meldungen von Lame", $h, $w, -1, -1, $WS_POPUP)
GUISetBkColor(0xFFFFFF)
$Input = GUICtrlCreateLabel("Bla und Blub",5,5,$h-10,$w-10, $SS_RIGHT+$WS_BORDER)
GUISetState(@SW_SHOW, $MainGUI)
sleep(2000)
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $parammeter = ' & $parammeter & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
[/autoit] [autoit][/autoit] [autoit]$PID = Run($cmd & " " & $parammeter,@ScriptDir,@SW_HIDE, 0x8)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $PID = ' & $PID & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
; #comments-start
Local $line
local $prozent = ""
While 1
$line = StdoutRead($PID)
If @error Then ExitLoop
if $line <> "" then
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $line = ' & $line & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
; $tmpline = StringSplit(StringMid(StringStripCR($line), 1, 75), "|")
; if $tmpline[0] = 5 then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $tmpline = "' & $tmpline[1] & '" ' & $tmpline[5] & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
endif
WEnd
While 1
$line = StderrRead($PID)
If @error Then ExitLoop
if $line <> "" then _
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $line = ' & $line & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
WEnd
GUIDelete($MainGUI)
P. S. Ich möchte die Ausgaben von Lame in das Label schreiben.
LG
fschaef
Edit 1: Sry, hatte nur den halben Code gepastet, Sry
Edit 2: Klappt ja doch, der Bug saß mal wieder vor dem PC