Argumente an eine Anwendung übergeben

budili

Mitglied
Mahlzeit,

ich möchte an eine Anwendung mehrere Argumente übergeben,
habe das folgendermaßen realisiert:

Code:
const int DATEI_PFAD_FALSCH = 2;

        public void GoAnalyzer(String PathAnalyzer, String PathTrace, 
                                                                          String PathDest, String PathID)
        {
            String arguments = " " + PathTrace + " " + PathDest + " " + PathID; 
            // Argumente in einen String schreiben

            try
            {
                Process.Start(PathAnalyzer, arguments);
                // PathAnalyzer ist die .exe 
            }

            catch (Win32Exception e)
            {
                if (e.NativeErrorCode == DATEI_PFAD_FALSCH)
                    MessageBox.Show(e.Message);
            }

Den Zielpfad kann ich entweder manuel in eine Textbox schreiben oder über einen Button per SaveFileDialog den Pfad für die Datei wählen (wo sie gespeichert werden soll).

Wenn ich den Pfad manuell eintrage, dann funktioniert alles so wie es soll.
Wenn ich aber den Pfad über den Button bestimme, der ebenfalls hinterher (richtig) ins Textfeld geschrieben wird, dann bekomme ich immer die Fehlermeldung "das System kann die angegebene Datei nicht finden".

Weiß jemand was das soll? Ich verstehe das nicht...

Beim Aufrufen der Funktion GoAnalyzer(...) übergebe ich den Text der einzelnen Textboxen:

Code:
GoAnalyzer(PathAnalyzer, TracetextBox.Text, SaveResulttextBox.Text, IDtextBox.Text);

Naja wäre schön, wenn da einer weiter weiß ...
 
Also es liegt definitiv am an dem "SaveFileDialog" ...

Hab den Dialog durch einen OpenFile ausgetauscht und er meckert nicht mehr.
Wieso er den SaveDialog nicht aktzeptieren möchte, weiß ich aber nicht ... :confused:
 
Bei dem File-Dialogen kann man ein Flag angeben, dass der Dialog das aktuelle Verzeichnis nicht verändert bzw. wieder restauriert. Daran könnte es liegen.

Tip: Vergiss relative Pfade; nimm immer den kompletten absoluten Pfad, den bekommst du von den File-Dialogen ja ebenfalls geliefert.
 
Also habs gelöst!

Ich weiß nicht wieso er das verlangt, aber das lag an der Eigenschaft des
SaveFiledialogs : "RestoreDirectory" !!

Habe jetzt "RestoreDirectory = true" und es läuft alles...

Habe auch vorher schon mit dem kompletten Pfad gearbeitet...
 

Neue Beiträge

Zurück