Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm starten und die Ausgabe sofort auswerten (https://www.delphipraxis.net/83528-programm-starten-und-die-ausgabe-sofort-auswerten.html)

faux 4. Jan 2007 00:00


Programm starten und die Ausgabe sofort auswerten
 
Hallo!

Ich suche schon seit einiger Zeit, weiß aber nicht einmal genau nach was ich suchen soll.
Ich will ein Konsolenprogramm (Apache, MySQL, ...) über mein Programm starten und deren Ausgaben in mein Programm umleiten.
Ich habe schon das hier gefunden, jedoch ist es hiermit nur möglich, die Ausgabe auszuwerten, wenn das Programm wieder beendet wurde. Ich will jedoch die Ausgabe sofort haben, nachdem sie ausgegeben wurde und die Applikation soll weiter laufen.
Ich denke mal, dass ich das mit Threads lösen muss, habe aber weiter keine Ahnung wie ich das realisieren soll.
Wäre für jeden Vorschlag dankbar.

Grüße
Faux

faux 4. Jan 2007 10:31

Re: Programm starten und die Ausgabe sofort auswerten
 
Ich hätte jetzt zwar eine Komponente gefunden, die das erledigt: TJvCreateProcess, jedoch ist diese Teil der JEDIs, welche ich nicht vollständig installieren will. Diese Komponente ist mir auch etwas zu umfangreich. Kennt jemand eine ähnliche (standalone) Komponente?

Grüße
Faux

Balu der Bär 4. Jan 2007 10:32

Re: Programm starten und die Ausgabe sofort auswerten
 
Kannst du nicht einfach die entsprechenden Funktionen aus dieser Komponente "entwenden"? :stupid:

faux 4. Jan 2007 10:56

Re: Programm starten und die Ausgabe sofort auswerten
 
Das sagt sich so leicht: Ich sitze schon seit fast einer halben Stunde vor dem 1500 Zeilen Code, der wiederum teile der restlichen JCL benötigt und weiß noch genau so viel wie vor einer halben Stunde... :stupid:
Ich bin einfach zu dumm die Prozedur zu finden, die den eigentlichen Prozess startet und dann "überwacht".
Das ganze müsste in den Threads TJvWaitForProcessThread (Zeile 258) und TJvConsoleThread (Zeile 271) passieren... :?

Grüße
Faux

faux 6. Jan 2007 20:21

Re: Programm starten und die Ausgabe sofort auswerten
 
So, ich hab jetzt dank eines anderen Threads eine Komponente gefunden, die das erledigt.
Jedenfalls habe ich noch ein Problem: Wenn der Thread beendet wird, soll der ganze Prozess Baum beendet werden; also wenn die Applikation eine weitere Applikation gestartet hat, so soll diese auch beendet werden. Wie kann ich das bewerkstelligen?

Es würde mir schon reichen, wenn ich wüsste, wie ich ein Konsolenprogramm dazu bringe, sich zu beenden. In der Eingabeaufforderung mache ich das mit Ctrl+C, das entspricht einem ASCII-Zeichen 3. Wenn ich aber #3 an das Programm sende, so zeigt es keinerlei Reaktionen. :?

Grüße
Faux

Klaus01 6. Jan 2007 21:46

Re: Programm starten und die Ausgabe sofort auswerten
 
Was ist wenn Du zu der Eingabe exit#13 schickst?

Grüße
Klaus

faux 6. Jan 2007 22:26

Re: Programm starten und die Ausgabe sofort auswerten
 
Das funktioniert insofern nicht, da ja httpd.exe (Apache) läuft, und nicht die Eingabeaufforderung.
Wenn man in der Eingabeaufforderung httpd.exe startet, so kann man es nur durch Ctrl+C wieder beenden, jedoch dürfte das nur ein Event der Eingabeaufforderung auslösen, und nicht das Programm selbst ansprechen. :?

Grüße
Faux

inherited 6. Jan 2007 23:31

Re: Programm starten und die Ausgabe sofort auswerten
 
http://maxxdelphisite.free.fr/doscmd.htm ;)

faux 6. Jan 2007 23:33

Re: Programm starten und die Ausgabe sofort auswerten
 
Huh?
Ja, diese Komponente benutze ich:
Zitat:

Zitat von faux
So, ich hab jetzt dank eines anderen Threads eine Komponente gefunden, die das erledigt.

Aber hier wird, wie beschrieben, nur ein Prozess beendet, nicht aber die Tochterprozesse, die dieser Prozess erstellt.

inherited 6. Jan 2007 23:36

Re: Programm starten und die Ausgabe sofort auswerten
 
Oha, sorry. Ich dachte dur würdest eine andere Komponente verwenden :shock:

*Zurückzieh, maul halt und schlafen geh* :duck:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz