"EventListener" im Kommandozeilenprogramm?

pinsleepe

Mitglied
Hallo,
ich suche nach einer Möglichkeit, in einem Kommandozeilenprogramm eine Art EventListeners einzubauen. Dami meine ich: in der Zeit, wo gerade nicht die Commands eingelesen werden sondern eine Auktion ausgeführt (und geloggt) wird möchte ich dem Nutzer die Möglichkeit geben, die Ausführung anzuhalten und zum gewöhnlichen Dialog zu wechseln.
Ich finde leider keine Lösungsansätze im Netz, kann mir vllt jemand auf die Sprünge helfen?
 
Wie sieht eine Aktion bei dir aus? Eine klassische Konsolenanwendung verarbeitet die Eingabe und wartet dann wieder auf Eingabe.

Wo möchtest du jetzt Events haben? Wenn eine Aktion noch eine weitere Bestätigung benötigt, zB COPY x nach y ... "Y existiert bereits, Überschreiben/Abbrechen?" ... ?
 
Mein Programm stellt nur eine Schnittstelle zu einer "Bibliothek" dar. Ich habe mit dem Strategy-Muster eine Implementierung gemacht, die mit Hilfe der Konsole die benötigten Parameter sammelt und dann - je nach gewählter Strategy - eine "externe" Aktion ausführt. Müsste ich vllt die Aktionen irgendwie "daneben" legen Wie macht man sowas?

Ich möchte die Möglichkeit haben, meine Console weiterhin aktiv zu lassen, sodass sie auf Nutzereingaben reagieren kann und vllt ab und zu mal Infomeldungen zu der Aktion im Hintergrund gibt wenn sie lange dauern o.ä.Man soll aber nur eine Aktion auf einmal ausführen können.
 
Hm, Nebenläufigkeit erreichst du durch Threads. Also die Aktion einfach in einem eigenen Thread durchführen.

Theoretisch könntest du dann auch am Ende der Aktion ein Event schmeißen und darauf reagieren.
 
Zurück