Autor Beitrag
zappo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 19:47 
Hierher scheint mein Problem besser zu passen.
Folgender Code erzeugt bei mir eine Exception, hinter deren Lösung ich leider nicht komme...


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
protected override void OnClose(CancelEventArgs e)
        {
            e.Cancel = true;
            FileInfo fileinfo = new FileInfo("wr_bak.xml");
            fileinfo.Attributes |= FileAttributes.Normal;
File.Delete("wr_bak.xml");
            Close();
            return;
        }


leider gibt es dann beim löschen der Datei ne UnauthorizedAccess Exception.
An anderer Stelle im Programm macht das löschen selbiger Datei allerdings kein Problem, woran könnts liegen?

Weiß jemand Rat?

Gruß
Sebastian

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt
Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am So 12.07.2009 um 19:58
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 12.07.09 20:00 
Ich glaube das eher nicht. Dein Problem liegt wohl daran, dass du nicht das Ereignis selbst behandelst, sondern die protected Methode überschreibst, die das Ereignis auslöst. Das ist zumindest ungewöhnlich.

Übrigens gibt es unter "Bereiche" nicht nur Zitat, sondern auch die ComboBox mit den Code-Varianten, darunter C#, und dem Plus-Button. Code ist auf diese Weise zu markieren.

Vielleicht kann Sebastian Kha oder ein anderer WPF-Fachmann dies anschauen und entscheiden, wo und wie die Diskussion am besten geführt wird.

Jürgen

@Christian
Danke für die C#-Tags. Aber das Verschieben war mit Sicherheit unpassend, weil es sich vorrangig nicht um das IO-Problem handelt, sondern um das Zusammenspiel von Ereignissen und Methoden.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 12.07.09 20:22 
Da du schon schreibst das du diese Datei auch an anderen Stellen benutzt gehe ich mal davon aus das du an einer dieser Stellen das File nicht richtig geschlossen hast und du somit noch ein Handle auf die Datei hälst. Sobald jemand eine Datei sperrt (das kann man auch selbst im eigenen Prozess sein) erhält man eine UnauthorizedAccessException wenn man diese zu löschen versucht.
Kontrolliert also mal an diesen Stellen ob du an das jeweils nötige Close(), Dispose() oder was auch immer gedacht hast.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 12.07.09 22:36 
Darf ich annehmen, dass das Problem jetzt gelöst ist?

@Jürgen: Vielleicht etwas ungewöhnlicher als Window.Closed, aber mit der Exception hängt das wohl eher nicht zusammen ;) .

_________________
>λ=
zappo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mo 13.07.09 00:20 
Problem hat sich gelöst.

Lag daran das ich das ReadOnly des Files vorher EXKLUSIV entfernen musste.

Gruß

P.S.: Sry, hatte vergessen hier auch solved zu setzen.