Veröffentlicht 3. April 200619 j Hi, ich habe einen SaveFileDialog angelegt und folgende Werte initialisiert: this.dlgSave.InitialDirectory = "C:\\"; this.dlgSave.DefaultExt = "txt"; // Hier Fehler this.dlgSave.FileName = "NeueTextdatei"; this.dlgSave.Filter = "Textdateien|*.txt"; this.dlgSave.FilterIndex = 0; this.dlgSave.Title = "Datei speichern unter..."; Jetzt stürzt der mir allerdings mit folgender Fehlermeldung ab: http://img153.imageshack.us/img153/8550/netfiledialogerror5pt.jpg Ich benutze Borland C# Builder 2006... Danke im Voraus cu Patrick
3. April 200619 j Hi, Wie stehts denn mit deinen FileIO-Permissions auf der Assembly-Ebene? Gruß, Honky
4. April 200619 j Autor Das hat mich dann schomma ne Ecke weiter gebracht. Habe jetzt folgenden Code in mein Programm eingefügt. using System.Security.Permissions; [assembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)] Bringt natürlich nur in sofern was, als das mein Programm jetzt vorher abfragt ob die Berechtigungen gesetzt sind oder nicht, wenn ich das richtig verstanden habe. Aber wo kann ich die Berichtigungen denn setzen? In der .NET-Konfiguration oder wo? bzw. wie weiße ich meinen Programm die Berechtigungen/Rollen zu?
5. April 200619 j Hi, Die Berechtigung wird in der Tat über die .Net-Konfiguration gesteuert. Blöde Frage: Hat der Anwender denn überhaupt die Berechtigung auf C:\ zuzugreifen? Falls das Problem immer noch auftritt: Könntest du mal einen try...catch-Block drumherum legen, so dass wir den genauen Typus der Exception bekommen. (SecurityException kann ja viel sein) Ansonsten ists komisch, da die MSDN zu InitialDirectory fast dasselbe nutzt. Gruß, Honky
5. April 200619 j Autor Irgendwie bin ich was .NET angeht wohl zu blöd... Bin da noch totaler Anfänger... Gibts da irgendwie sowas wie ein Tutorial oder sowas, was mal die kurze Vorgehensweise beschreibt? Irgendwie habe ich nämlich keinen Schimmer wie ich da die Berechtigungen setzen soll
5. April 200619 j Probier mal bitte: this.dlgSave.InitialDirectory = "C:\\"; try { this.dlgSave.DefaultExt = "txt"; // Hier Fehler } catch (Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show(ex.Source); } this.dlgSave.FileName = "NeueTextdatei"; this.dlgSave.Filter = "Textdateien|*.txt"; this.dlgSave.FilterIndex = 0; this.dlgSave.Title = "Datei speichern unter..."; Interessant wäre da, was dir als FehlerMessage und als FehlerSource angezeigt wird!
6. April 200619 j Autor Dann bekomme ich den Fehler http://img205.imageshack.us/img205/1992/fehler17gj.jpg Und die Fehlerquelle http://img91.imageshack.us/img91/3286/fehler23ul.jpg Das wird wohl schon irgendwas mit den Berechtigungen zu tun haben, aber ich habe keine Ahnung wie ich die setzen soll... Ich verstehe diese .NET-Konfiguration irgendwie nich... :hells:
6. April 200619 j Arbeitest Du auf einem Netzlaufwerk? Funktioniert es lokal (HDD in Deinem Rechner)? Funktioniert es, wenn Du Admin-Rechte hast? Hast Du die .NET-Konfiguration irgendwann mal verändert?
7. April 200619 j Autor Arbeitest Du auf einem Netzlaufwerk? Funktioniert es lokal (HDD in Deinem Rechner)? Funktioniert es, wenn Du Admin-Rechte hast? Hast Du die .NET-Konfiguration irgendwann mal verändert? Richtig, das Programm liegt auf einem Netzlaufwerk. Lokal habe ich das noch nich ausprobiert - werde ich mal machen. Admin-Rechte habe ich so oder so. Nö, an der .NET-Konfiguration habe ich nix geändert, fange ja gerade erst mit diesem Kram an
7. April 200619 j Autor Richtig, das Programm liegt auf einem Netzlaufwerk. Lokal habe ich das noch nich ausprobiert - werde ich mal machen. Admin-Rechte habe ich so oder so. Nö, an der .NET-Konfiguration habe ich nix geändert, fange ja gerade erst mit diesem Kram an Also lokal auffer Festplatte klappt das... Muss man das verstehen?
7. April 200619 j Ja, ist verständlich. Netzlaufwerke gehören einer anderen Sicherheitszone an. Ich hatte mal das Problem, das chm-Hilfe-Dateien, die auf einer Netzfreigabe lagen, nicht mehr aufgerufen werden konnten. Die Datei ließ sich öffnen, jedoch wurden die komprimierten HTML-Seiten nicht angezeigt...
7. April 200619 j Also lokal auffer Festplatte klappt das... Muss man das verstehen? Ja. .NET-Programme, die über das Netz gestartet werden, unterliegen aus Sicherheitsgründen gewissen Beschränkungen. Verwende am Besten die lokale Festplatte für den Programmstart, alles andere erfordert mehr Aufwand, ist aber auch möglich.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.