Entwickler-Ecke
Dateizugriff - DeleteFile seltsames verhalten
Niko S. - Sa 11.10.08 12:56
Titel: DeleteFile seltsames verhalten
Okay Folgendes Problem:
Ich Compile das Programm
-> Es werden alle Files in einem Bestimmten Ordner Aufgelistet (Vorrausgesetzt da sind welche) mittels einer FileListBox
-> Ich Klicke auf meinen Button der eine ausgewählte Datei löschen soll
-> Er Löscht...
-> Ich erstelle eine Neue datei mit (FileCreate()
-> FileListBox wird geupdated mittels FLB.Update;
-> Ich wähle wieder eine Datei aus & klick auf löschen
-> Er löscht NICHT...
Weiß einer Rat?
FLB.FileName zeigt den Korrekten Pfad an...
jaenicke - Sa 11.10.08 13:08
Was soll ich dazu ohne Quelltext sagen? :nixweiss:
Wie soll man an dem was du schreibst einen Fehler erkennen? :roll:
alzaimar - Sa 11.10.08 13:19
Leere Dateien kann man nicht so einfach löschen. Vielleicht liegts daran.
Niko S. - Sa 11.10.08 13:27
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm2.Button4Click(Sender: TObject); begin Form3.requestmode := 3; Form3.ShowModal; if (Form3.answermode = 1) then FileCreate(FileListBox1.Directory+'\'+Form3.labeledEdit1.Text+'.txt'); FileListBox1.Update; end;
procedure TForm2.Button3Click(Sender: TObject); begin if (FileListBox1.FileName <> '') then DeleteFile(FileListBox1.FileName); FileListBox1.Update; end; |
Aber warum löscht er dann die lehre daten nachdem man das programm noch einmal aufruft?
Also er löscht die immer wenn sie vorhanden waren bevordem aufrufen
wenn sie wärend der laufzeit erstellt werden
löscht er sie nicht ...
Delete - Sa 11.10.08 16:04
Hausaufgaben wieder nur halb gemacht. :? Hast du das ganze mal debuggt? Was gibt DeleteFile für einen Wert zutück? Was gibt GetLastError für einen Wert zurück? Wenn du uns die Fragen beantwortet hast, können wir weiter helfen.
Yogu - Sa 11.10.08 16:09
Liefert FileListBox1.FileName denn überhaupt einen Wert zurück? Verläuft die if-Abfrage positiv? Ein Haltepunkt oder ShowMessage(FileListBox1.FileName); könnte weiterhelfen.
Niko S. - Sa 11.10.08 18:34
@ Luckie
Natürlich habe ich es debugged .. GetLastError kannt ich nicht
DeleteFile gibt False zurück ... Aber wie gesagt nur wenn die datei erstellt wurde wärend das programm läuft
bzw vom programm erstellt wurde... (und sie existiert)
@Yogu
Ebenfalls gemacht ... Gibt Alles das aus was es ausgeben soll...
@DeddyH
Was soll ich mit nem Fehler beim Kopieren .. ich kann nicht löschen nachdem ich erstellt habe x_x
Oder liegt das wirklich nur daran dass es leere .txt dateien sind?
Aber dann dürfte er die doch nicht löschen wenn ich das programm neu gestartet habe?!
jaenicke - Sa 11.10.08 18:41
Niko S. hat folgendes geschrieben : |
GetLastError kannt ich nicht |
Ja, und was gibt es denn nun für einen Fehlercode zurück?
Niko S. hat folgendes geschrieben : |
Oder liegt das wirklich nur daran dass es leere .txt dateien sind?
Aber dann dürfte er die doch nicht löschen wenn ich das programm neu gestartet habe?! |
Die einzige Erklärung, die mir so einfällt, ist, dass die Datei noch verwendet wird (wie im von
DeddyH verlinkten Thread), du also noch ein Handle auf die Datei offen hast.
Was genau der Fehler ist, kann man nur mit dem Fehlercode sagen, aber was dir GetLastError sagt, hast du ja bisher nicht geschrieben...
Niko S. - Sa 11.10.08 18:44
Sorry total verbummelt
GetLastError gibt 0 zurück
...
also Ich benutz Delphi 7
Und was ich mich frage ist, wie ich ein Handle auf die Datei haben wenn ich sie doch nur Erstelle mittels FileCreate ?
Niko S. - Sa 11.10.08 18:53
Ach man ... Ich hab wirklich noch ne menge zu lernen <_<
Das war also der Fehler, der war doch noch im Handle drin & ich wusste es nicht...
Dankeschön, ich speicher mir erst einmal die Seite ab weil meine Delphi Hilfe nicht mehr bei Vista funktioniert ;x
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!