AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi Ausgabe einer Konsolenanwendung abfangen (simple Fassung)
Thema durchsuchen
Ansicht
Themen-Optionen

Ausgabe einer Konsolenanwendung abfangen (simple Fassung)

Ein Thema von stz · begonnen am 24. Aug 2008 · letzter Beitrag vom 2. Nov 2008
 
Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Ausgabe einer Konsolenanwendung abfangen (simple Fassung

  Alt 22. Sep 2008, 11:48
Zitat von blackdrake:
Ich hätte mir ja gerne noch gewünscht, dass sowas auch gehen würde:
showmessage(Konsole('ver')); Anstelle das so auszudrücken:
showmessage(Konsole('cmd /c ver'));
Moin blackdrake,
bei ver handelt es sich um keine Anwendung, sondern um einen Befehl der Windows-Shell. Da die Funktion aber eine Anwendung startet, muss man zunächst die Anwendung cmd starten, um den Befehl auszuführen. Du kannst die Funktion natürlich recht einfach abändern, indem du dem übergebenen String einfach automatisch immer ein 'cmd /c ' voransetzt.

Zitat von blackdrake:
- Und eventuell die Suchpfade des OS berücksichtigen (sofern dies nicht bereits automatisch geschieht).
Das müsste eigentlich Windows von alleine machen...

Zitat von blackdrake:
- Falls Anwendung nicht gefunden wird / kein Prozess eröffnet wird: Eine eigen definierte Exception (z.B. ECommandOrFileNotFound) auslösen.
Meiner Funktion fehlt jegliche Fehlerbehandlung, so wie ich das gerade überblicke...

Zitat von blackdrake:
Was wäre denn überhaupt die komplexe Fassung, wenn das die simple Fassung ist?
Das simple an dieser Fassung ist, dass die Funktion schlicht auf das Ende des gestarteten Prozesses wartet und die aufrufende Anwendung solange hängt. Das kann man eleganter, aber dann auch komplexer, lösen. Ein Beispiel dazu findet sich unter anderem im bereits im ersten Beitrag verlinkten Code von Jens.

Ich komme in nächster Zeit sicherlich nicht dazu, die Funktion zu optimieren - ich habe aber absolut nichts dagegen, wenn Du Dich meinem Code annimmst und ihn verbesserst.

Gruß
Malte
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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