@Bisonte: Das ist mein letzter Stand gewesen. Auch das hat nicht funktioniert.
Ich hatte mehrere Batch-Dateien gespeichert und dann versucht, sie
nacheinander mit RunProgram() und #PB_Program_Wait aufzurufen.
#PB_Program_Wait hatte keinen Effekt, er ist immer gleich zurückgekehrt
und hat die nächste Batch-Datei noch im selben Konsolenfenster angezeigt.
Ich dachte ok, vielleicht liegt's an der Batch-Datei, und hab das ganze mit direktem
Compiler-Aufruf auf Grundlage des Beispiels aus der PB-Hilfe zu RunProgram gemacht:
(hier nicht angepasst)
Code: Alles auswählen
Compiler = RunProgram(#PB_Compiler_Home+"\Compilers\pbcompiler", "/?", "", #PB_Program_Open | #PB_Program_Read)
Output$ = ""
If Compiler
While ProgramRunning(Compiler)
If AvailableProgramOutput(Compiler)
Output$ + ReadProgramString(Compiler) + Chr(13)
EndIf
Wend
Output$ + Chr(13) + Chr(13)
Output$ + "Exitcode: " + Str(ProgramExitCode(Compiler))
CloseProgram(Compiler)
EndIf
Resultat: gleiches Ergebnis wie vorher mit den einzelnen Batch-Dateien. Ich hab versucht, auf die
Ausgabe zu verzichten und wieder #PB_Program_Wait eingebaut, hier bekomme ich jetzt jedes Mal
den Fehler, dass iProgram nicht gültig sei. Ohne CloseProgram selber Effekt wie vorher.
Code: Alles auswählen
ForEach llCodes()
iProgram = RunProgram(#PB_Compiler_Home + "\Compilers\pbcompiler", Chr(34) + llCodes() + Chr(34) + " /XP", "", #PB_Program_Wait)
If iProgram
CloseProgram(iProgram)
Endif
Next
// EDIT: @ts-soft: Ich probiers mal.
// EDIT2: nein, hat nichts gebracht. Ich könnte jetzt zwar hinter jede Batch-Datei ein PAUSE setzen,
dann funktionierts, aber eigentlich möchte ich ja nichts weiter tun müssen.