Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts (https://www.delphipraxis.net/155411-createprocess-bei-gui-gehts-bei-konsole-tut-sich-nichts.html)

internetnavigator 24. Okt 2010 12:29

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Im Hauptkonsolenprogramm habe ich ne Schleife, die auf die Eingaben wartet. Dieses Programm hat eine Instanz der Klasse TSysCmd. SysCmd soll über die zugewiesene Methode (
Delphi-Quellcode:
syscmd.RC_LineOut := incoming
) seine Ausgaben diekt an den Besitzer liefern können. Das scheint mir auch nicht das Problem, das Ganze scheitert eher schon vorher beim erstellen des Prozesses.

Ich habe mal ein Programm geschrieben, welches alle 2ms nach dem aktiven Prozess cmd.exe sucht. Nun ists klar, der Prozes wird erzeugt, aber beendet sich auch direkt wieder. Warum macht der denn sowas böses :P?

@Luckie:
Ich starte aus einer Delphi-Konsolenanwendung über CreateProcess den Prozess cmd.exe aus dem Systemverzeichnis (system32). Nur dass dieser sich, so wie oben beschrieben, direkt wieder beendet.

Luckie 24. Okt 2010 12:32

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Du sollst mir nicht erzählen, wie du es startest, sondern was passiert, wenn du es, wie ich es beschrieben haben startest. Die Informationen will ich haben.

internetnavigator 24. Okt 2010 12:43

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Wenn ich C:\Windows\System32\cmd.exe öffne, dann kommt einfach nur die Eingabeaufforderung in der ausführenden directory, also "C:\Windows\System32\>".

Luckie 24. Okt 2010 12:47

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Das ist die Konsole. Und in der sollst du mal das Programm das Konsolenprogramm ausführen, was du mit CreateProcess starten willst.

internetnavigator 24. Okt 2010 12:52

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Aber ich will mit CreateProcess doch nur die cmd.exe öffnen. Wenn ich in der cmd.exe, cmd.exe öffne bekomme ich 'ne Konsole in der Konsole (In der Eingabeaufforderung: C:\Windows\System32\>cmd.exe)

Ich glaube ich versteh nicht ganz, was du mir sagen willst, sorry :(

Luckie 24. Okt 2010 21:03

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Dann gib den Parameter /k mit, dann bleibt die Konsole offen, nacvh dem die Befehle abgearbeitet wurden.

internetnavigator 24. Okt 2010 23:15

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
/k hat leider nichts gebracht. Aber danke für deine Hilfe, bis hierhin.
Ich habe jetzt, nachdem ich eine GUI-Anwendung zum testen hatte und dort alles ging, eine Konsolenanwendung zum testen geschrieben.
Komisch: Hier funktioniert alles wie gewünscht und erwartet.

Ich werde mir mal meine Konsolenanwendung nochmal genau ansehen müssen. Vielen Dank aber für eure Hilfe!

internetnavigator 25. Okt 2010 05:27

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Habe das ganze Problem beseitigt, indem ich das Create für die SysCmd in eine neue Prozedur verlegt habe. :roll:

hboy 24. Mär 2011 20:49

AW: CreateProcess - Bei GUI geht's, bei Konsole tut sich nichts
 
Liste der Anhänge anzeigen (Anzahl: 1)
Man soll ja alte Threads ruhen lassen, aber ich hab auf die Schnelle mal ein Beispiel zusammengewürfelt, mit dem der standad I/O umgelenkt wird. Es mag nicht hübsch sein, aber es funktioniert :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.
Seite 2 von 2     12   

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