ich starte aus einem Programm ein weiteres, soweit funzt das, nun soll nach Beendigung des zweiten Programms das vorherige weiterlaufen von einer bestimmten Stelle aus.. ? Das ist der Knackpunkt für mich, ich krich das nicht ? Hat mal jemand ne Idee. Danke.
Programm aus Programm starten und stoppen
-
Stephan-X
- Beiträge: 80
- Registriert: 30.07.2008 16:02
- Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
- Wohnort: Oberösterreich
Programm aus Programm starten und stoppen
Hallo Pure-Gemeinde am Sonntag,
ich starte aus einem Programm ein weiteres, soweit funzt das, nun soll nach Beendigung des zweiten Programms das vorherige weiterlaufen von einer bestimmten Stelle aus.. ? Das ist der Knackpunkt für mich, ich krich das nicht ? Hat mal jemand ne Idee. Danke.

ich starte aus einem Programm ein weiteres, soweit funzt das, nun soll nach Beendigung des zweiten Programms das vorherige weiterlaufen von einer bestimmten Stelle aus.. ? Das ist der Knackpunkt für mich, ich krich das nicht ? Hat mal jemand ne Idee. Danke.
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
- NicTheQuick
- Ein Admin
- Beiträge: 8838
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Programm aus Programm starten und stoppen
Schau dir dazu 'RunProgram()' und den Parameter '#PB_Program_Wait' an.
Und falls dein erstes Programm weiterlaufen soll während das zweite läuft, könnte 'ProgramRunning()' für dich interessant sein.
Und falls dein erstes Programm weiterlaufen soll während das zweite läuft, könnte 'ProgramRunning()' für dich interessant sein.
-
Stephan-X
- Beiträge: 80
- Registriert: 30.07.2008 16:02
- Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
- Wohnort: Oberösterreich
Re: Programm aus Programm starten und stoppen
OK Danke hat erst mal geholfen, habe mir dazu nochmal die Befehle dazu angesehen (TOLL) aber ein Problem ist jetzt .. die ersten zwei zeilen HideGadget(..) werden nun nicht berücksichtigt ! wo hab ich da einen Denkfehler !

Code: Alles auswählen
If File = -1
HideGadget(#Datei,1)
HideGadget(#GrundCon,0)
RunProgram(Home+"/Programme/G-Daten" ,"","",#PB_Program_Wait)
Goto start
EndIf
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
- NicTheQuick
- Ein Admin
- Beiträge: 8838
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Programm aus Programm starten und stoppen
Baue hinter die beiden 'HideGadget()'s folgende Zeile ein:
Das bewirkt, dass die Events, die durch 'HideGadget()' ausgelöst wurden, noch abgearbeitet werden, und somit auch wirklich Wirkung zeigen.
Allerdings ist es in einer GUI-Anwendung eher ratsam die Eventschleife nicht zu blocken, was du ja durch das 'RunProgram()' aber tust.
Aber du könntest z.B. das Hauptfenster mit 'DisableWindow()' deaktivieren und nach dem 'RunProgram()' wieder aktivieren, wobei ich mir nicht sicher bin, ob das was bringt.
Das Problem ist im Grunde folgendes: Wenn dein Fenster keine Events mehr abarbeitet, dann denkt Windows, dass dein Programm hängt und zeigt dann an "(keine Rückmeldung)" (oder so ähnlich).
Mit 'ProgramRunning()' könntest du das Problem umgehen, aber ich möchte jetzt keinen Code extra dafür schreiben um dir zu zeigen wie. Im Grunde musst du das Programm ohne '#PB_Program_Wait' starten und dann in deiner Eventschleife immer wieder prüfen, ob 'ProgramRunning()' noch einen Wert ungleich Null zurückgibt. Falls es das nicht mehr tut, weißt du, dass das externe Programm beendet wurde und dann kannst du irgendwo hin springen.
Code: Alles auswählen
While WindowEvent() : WendAllerdings ist es in einer GUI-Anwendung eher ratsam die Eventschleife nicht zu blocken, was du ja durch das 'RunProgram()' aber tust.
Aber du könntest z.B. das Hauptfenster mit 'DisableWindow()' deaktivieren und nach dem 'RunProgram()' wieder aktivieren, wobei ich mir nicht sicher bin, ob das was bringt.
Das Problem ist im Grunde folgendes: Wenn dein Fenster keine Events mehr abarbeitet, dann denkt Windows, dass dein Programm hängt und zeigt dann an "(keine Rückmeldung)" (oder so ähnlich).
Mit 'ProgramRunning()' könntest du das Problem umgehen, aber ich möchte jetzt keinen Code extra dafür schreiben um dir zu zeigen wie. Im Grunde musst du das Programm ohne '#PB_Program_Wait' starten und dann in deiner Eventschleife immer wieder prüfen, ob 'ProgramRunning()' noch einen Wert ungleich Null zurückgibt. Falls es das nicht mehr tut, weißt du, dass das externe Programm beendet wurde und dann kannst du irgendwo hin springen.