Ich möchte in einem StatusBar die laufenden Aktivitäten anzeigen. Das geht gut, bis ich mit Runtime.exec ein VB-Script starte. Da Runtime offenbar ein separates Process startet, geht nach dem Start die Ausführung in der Java-Methode weiter und ich bekomme die Meldung, dass die Arbeit erledigt ist, das VB-Script ist aber weiter am Arbeiten (ein AddIn wird gestartet, der wiederum VB-Makros aufruft ...).
Laut API-Doku sollte waitFor warten, bis der Process fertig ist. Ich habe aber den Eindruck, dass die Ausführung bei mir, ohne zu warten, weiter geht.
Wie kann man das erreichen bzw. was mache ich falsch?
Danke.
Java:
String[] command = { "cmd", "/c", "start", vbsFilename, fileToEdit, String.valueOf(true),
new File(addInName).getAbsolutePath(),
"my_password" };
gui.setStatusMessage("VB-Script wird ausgeführt ... ");
/* VB Script ausführen */
Process p = Runtime.getRuntime().exec(command);
int exitValue = p.waitFor();
/* Nur zur Kontrolle */
System.out.println("Exit-Value: " + exitValue);
gui.setStatusMessage("Bereit");
Laut API-Doku sollte waitFor warten, bis der Process fertig ist. Ich habe aber den Eindruck, dass die Ausführung bei mir, ohne zu warten, weiter geht.
Wie kann man das erreichen bzw. was mache ich falsch?
Danke.
Zuletzt bearbeitet: