Zum Inhalt springen

C# Problem mit SaveFileDialog


Rabber

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Also lokal auffer Festplatte klappt das...

Muss man das verstehen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...