Entwickler-Ecke

IO, XML und Registry - Dateien öffnen mit Process.Start klappt nicht


tofa - Mo 08.10.07 15:45
Titel: Dateien öffnen mit Process.Start klappt nicht
Hallo zusammen,

ich arbeite mich derzeit in .NET und C# ein, indem ich mich an keinen Projekten versuche.
Ich versuche den Pfad zu PDF- und AutoCad-Dateien aus einer Datenbank auszulesen und die Dateien dann zu öffnen.
Das Öffnen der Dateien löst jedoch eine Exception mit der Meldung aus, dass die Datei nicht vorhanden sei, obwohl ich zuvor explizit darauf prüfe, ob die Datei vorhanden ist bzw. der Pfad stimmt.



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
string draftPath = @Base+Zeichnungen.SelectedItem.ToString().Trim();
FileInfo draftFile = new FileInfo(draftPath);
if (draftFile.Exists)
{
   MessageBox.Show("Datei " + draftPath + " exsistiert!");
   System.Diagnostics.Process.Start(draftPath);
}



Was mache ich falsch?

Viele Grüße
Tom

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


JüTho - Mo 08.10.07 15:51

Enthält draftPath einen vollständigen Dateinamen einschließlich Pfad? Welche Exception genau wird geworfen? Überprüfe einmal genau, welche Werte zu der Exception gehören, z.B.:

C#-Quelltext
1:
2:
3:
4:
5:
6:
try {
   System.Diagnostics.Process.Start(draftPath);
catch (Exception ex) {
   MessageBox.Show(ex.Message + Environment.NewLine + ex.TargetSite);
   // evtl. auch ex.Data abfragen
}

Jürgen


tofa - Mo 08.10.07 16:01

user profile iconJüTho hat folgendes geschrieben:
Enthält draftPath einen vollständigen Dateinamen einschließlich Pfad?


Ja, z.B. H:\ACAD\ZEICHNUNGEN\02818.DWG

Zitat:
Welche Exception genau wird geworfen?


An diesem Punkt muss ich passen, da - nachdem ich deinen Code eingefügt habe - die Dateien auf einmal geöffnet werden. Mein alter Code funktioniert nun auch, es wird keine Exception mehr ausgelöst. Sehr merkwürdig das ganze.

Auf jeden Fall vielen Dank für die schnelle Hilfe!

Tom