Ok..
Ich habe den Programmausschnitt heraus genommen, und eine Ausgabe für die Konsole mit rein gemacht.
Code: Alles auswählen
If CountProgramParameters()
For i = 0 To CountProgramParameters() - 1
Parameter = Val(ProgramParameter(i))
Console = OpenConsole():PrintN("Verwendeter Parameter: "+Str(Parameter))
Next
EndIf
If FindString(ProgramFilename(),GetHomeDirectory(),1)
If Console : PrintN("Diese Anwendung wird im Homeverzeichnis ausgeführt."+Chr(13)+ProgramFilename()):EndIf
MessageRequester("Home","Diese Anwendung wird im Homeverzeichnis ausgeführt."+Chr(13)+ProgramFilename())
Else
If FindString(ProgramFilename(),"/tmp/",1)
If Console : PrintN("Diese Anwendung wird im Tempverzeichnis ausgeführt."+Chr(13)+ProgramFilename()):Else
MessageRequester("Temp","Diese Anwendung wird im Tempverzeichnis ausgeführt."+Chr(13)+ProgramFilename()):EndIf
Else
If Console : PrintN("Diese Anwendung wird im Systemverzeichnis ausgeführt."+Chr(13)+ProgramFilename()):Else
MessageRequester("System","Diese Anwendung wird im Systemverzeichnis ausgeführt."+Chr(13)+ProgramFilename()):EndIf
EndIf
EndIf
If OpenWindow(0,0,0,100,100,"Testanwendung",#PB_Window_ScreenCentered)
ButtonGadget(1,5,5,90,90,"Anwendung"+Chr(13)+"öffnen und"+Chr(13)+"startetn")
Repeat
Event = WaitWindowEvent()
If Event
Select EventGadget()
Case 1
Program.s = OpenFileRequester("Executable öffnen","/usr/bin/","Executable (*.*)|*.*",0)
If Console:PrintN(Program+" ausgewählt"):EndIf
If Parameter = 1
Anwendung = RunProgram(Program,"","",#PB_Program_Wait)
If Console:PrintN(Program+" gestartet. Prozessnummer: "+Str(Anwendung)):EndIf
ElseIf Parameter = 2
Anwendung = RunProgram(Program,"","",#PB_Program_Open | #PB_Program_Read)
If Console:PrintN(Program+" gestartet. Prozessnummer: "+Str(Anwendung)):EndIf
While ProgramRunning(Anwendung)
WaitProgram(Anwendung)
If Console:PrintN("Anwendung ist noch aktiv: "+Str(Anwendung)):EndIf
Wend
EndIf
If Console:PrintN("Die Anwendung '"+ GetFilePart(Program)+"' wurde beendet ."):Else
MessageRequester("","Die Anwendung '"+ GetFilePart(Program)+"' wurde beendet ."):EndIf
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow Or Exit = 1
End
EndIf
Wie es aus sieht liegt es aber am Terminal... Ich habe diesen Text auch gleich ausprobiert... anfangs habe ich immer den gnome-terminal geöffnet und das Ergebnis war immer das selbe, wie oben beschrieben aber als ich mal eine andere Anwendung nahm zum Beispiel gedit funktionierten beide varianten...
Jetzt stellt sich mir die Frage, wie erfahre ich ob der Terminal fertig ist....
Lg