![]() |
AW: Cmd in eine Delphi-Applikation integrieren?
Ich möchte mal diesen Thread in den Raum werfen:
![]() |
AW: Cmd in eine Delphi-Applikation integrieren?
Zitat:
Zitat:
Zitat:
|
AW: Cmd in eine Delphi-Applikation integrieren?
Ich habe gerade in einem anderem Forum gefunden, dass erst eine gewisse Buffergröße erreicht werden muss, bevor die Ausgabe auf der Festplatte geschieht. Weiß jemand von euch einen weg, das zu umgehen? Oder erstmal ob da mein Problem liegt? :D
Danke für die bisherige Hilfe schonmal |
AW: Cmd in eine Delphi-Applikation integrieren?
Zitat:
Zu 1.: Sollte möglich sein, wenn du in der Methode
Delphi-Quellcode:
in der Zeile
TConsoleRedirector.StartProcess
Delphi-Quellcode:
StartupInfo.wShowWindow := SW_HIDE;
Delphi-Quellcode:
durch
SW_HIDE
Delphi-Quellcode:
ersetzt.
SW_SHOW
Zu 2.: Ich vermute, du hast FRedirector in der Klassendefinition in dem gleichen Abschnitt deklariert, wo die ganzen Komponenten aufgelistet sind? Verschieb sie mal in den
Delphi-Quellcode:
- oder
private
Delphi-Quellcode:
-Abschnitt.
public
|
AW: Cmd in eine Delphi-Applikation integrieren?
Vielen Dank, die beiden kleineren Probleme sind gelöst :D
Auch deine Funktion liefert die Ausgabe ins Memo-Feld erst, wenn das Programm beendet wird. (Konnte ich vorher nicht, da das Programm an einer bestimmten Stelle auf etwas wartet.) Irre ich mich, oder gibt es bei deiner Version keine Möglichkeit, die Ausführung der cmd so zu beenden wie über das normale "Schließen"? Alles was ich finden kann sind Terminate und Destroy, welche beide die Ausgabe am Ende nicht erreichen. |
AW: Cmd in eine Delphi-Applikation integrieren?
Sollte eigentlich mit Terminate gehen. Kann ich nachher mal testen...
|
AW: Cmd in eine Delphi-Applikation integrieren?
Ich habe jetzt im Moment 3 Möglichkeiten:
Mit der Komponente DosCommand (die 2009er-Version aus dem Thread, der oben von DeddyH verlinkt wurde) Mit der Unit unConsoleRedirector von Namenlozer und die Funktion GetConsoleOutput. Alle 3 liefern mir die Ausgabe erst, wenn das Programm beendet wurde, und auch nur, wenn ich das Fenster sichtbar starte und dann über "Schließen" die Konsole wieder schließe. Mit dem DosCommand-Befehl "Stop" wird zwar das Programm beendet, die Ausgabe jedoch nicht übergeben. Bei anderen cmd-Programmen wir "ping www.google.de" funktionieren alle 3 Möglichkeiten tadellos, nur bei meinem Programm anscheinend nicht. Fällt irgendjemandem etwas ein, woran das liegen könnte? Mein Programm kompiliert ein in Phyton geschriebenes Programm und startet dieses dann. Alles bleibt jedoch im Fenster der cmd. Beim normalen Starten sieht man die Ausgabe, und wie gesagt, bei normalem Beenden des Programms kommt die Ausgabe nicht über. Nur nicht zur Laufzeit -.-" um auf RWarnecke zurückzukommen: Es wäre schön, wenn jede Zeile direkt zur Laufzeit überkommen würde. Eben wenn sie auch im cmd-Fenster erscheint. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz