Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich bereits geöffneter Konsoleninstanz per Drag&Drop neue Argumente übergeben?
ma_fo
myCSharp.de - Member



Dabei seit:
Beiträge: 10
Herkunft: Bayern

Themenstarter:

Wie kann ich bereits geöffneter Konsoleninstanz per Drag&Drop neue Argumente übergeben?

beantworten | zitieren | melden

Hallo,
Ich habe ein Konsolen Programm dem ich via Drag and Drop Datein übergebe und diese in einer txt Datei dokumentiere.
Bisher habe ich das Programm nur einmal aufgefruden.

Wie kann ich bei einem zweiten aufruf die übergebenen Dateipfade quen/hinten an hängen?

Gruß
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1793
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Wenn du pro Durchlauf die Pfade lokal speicherst, z.B. in einer Textdatei, dann kannst du die neuen doch einfach an die Datei anhängen.
Dann musst du diese nur einmal auslesen und hast alle Pfade.

Hier wäre aber auch der use Case interessant.
Ggf. kann man auch einen anderen Ansatz überlegen.

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 3977

beantworten | zitieren | melden

Ansonsten sollte "Nur eine Instanz pro Anwendung" featuring IPC passend sein (am besten meine aktualisierte Version benutzen).

Beachte, daß du eine neue GUID (z.B. vom VS im "Tools"-Menü) erzeugen läßt (und verwendest ;-).
private Nachricht | Beiträge des Benutzers
ma_fo
myCSharp.de - Member



Dabei seit:
Beiträge: 10
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Ich wollte die übergebenen Pfade eingentlich nicht in einem txt File speichern.
Kann aber auch das args[] nicht erweitern, fällt miir gerade so auf.

Workflow sieht wie folgt aus.

Dateien via Drag and Drop auf die Konsole.exe
Dateipfade im args[] werden stück für stück abgearbeitet.
Pro Dateipfad wird eine txt erstellt.
Konsolenfenster schließt automatisch.

Wenn ich nun bevor sich das Fenster schließt neue Dateien auf die Exe ablege dann würde ich gerne diese in das args[] einfügen und nicht eine neue Instanz der Konsole öffnen.

Ich hoffe ich habe nun mehr Klarheit reinbrignen können

Gruß
private Nachricht | Beiträge des Benutzers
Spook
myCSharp.de - Member



Dabei seit:
Beiträge: 233
Herkunft: Esslingen a.N.

beantworten | zitieren | melden

Hallo ma_fo,

du wirst wohl nicht darum herumkommen die Argumentliste von neuen Instanzen an die laufende zu übertragen. Th69 hat dazu ja bereits eine mögliche Lösung gepostet (Stichwort IPC).
Ich würde in der primären Instanz eine Queue anlegen und dort die eigenen Einträge einfügen und diese in einer Schleife abarbeiten. Weitere Instanzen übertragen ihre Argumentliste an die primäre Instance, die ebenfalls in die Queue eingefügt werden. Ist die Queue leer beendet sich das Programm.

Grüße
spooky
private Nachricht | Beiträge des Benutzers
ma_fo
myCSharp.de - Member



Dabei seit:
Beiträge: 10
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Jo das ist mir auch so gekommen dass ich erstmal das Programm umschreiben muss.
Dazu muss ich mir eben mehr Gedanken machen.
Bis dahin läuft es dann parallel ^^
private Nachricht | Beiträge des Benutzers