Hallo,
ich habe eine Textdatei mit lauter Dateinamen inklusive immer
demselben Pfad. Also etwa so
Delphi-Quellcode:
Y:\Post\2009.08.06\_0000.png
Y:\Post\2009.08.06\_0001.png
Y:\Post\2009.08.06\_0002.png
Diese Dateinamen lade ich in eine TStringList, drucke sie und möchte anschließend
alles weglöschen
Delphi-Quellcode:
Uses Windows, SysUtils ...; // <- in genau dieser Reihenfolge
Var
S : String;
...
DruckJob:=TStringList.Create;
Try
DruckJob.LoadFromFile(Printpfad+MyName+'.druck');
If Not DeleteFile(Printpfad+MyName+'.druck') Then // <- Das klappt!
ShowMessage(SysErrorMessage(GetLastError));
// Hier wird gedruckt
// Jetzt sollen alle Bilder gelöscht werden
S:=ExtractFilePath(DruckJob.Strings[0])+'*.*';
If Not DeleteFile(S) Then // <- Das klappt NICHT!
ShowMessage(SysErrorMessage(GetLastError)+#13+S);
Finally
DruckJob.Free;
End;
Leider bekomme ich jetzt den Fehler mit der Nummer 123 bzw. "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch". Da ich mir S auch anzeigen lasse, kann ich sehen, dass der Inhalt "Y:\Post\2009.08.06\*.*" ist. Der Pfad und die Dateien existieren. Immerhin sind sie ja auch gedruckt worden.
Was mache ich verkehrt?
Zur Erläuterung: Ich benutze DeleteFile(); seit Ewigkeiten und hatte noch nie Probleme damit. Deshalb verstehe ich die Welt nicht mehr. Die Dateien liegen auf den Freigaben eines Servers mit Linux und Samba. Die .druck-Datei liegt übrigens auch dort und kann erfolgreich gelöscht werden! Ich habe ausreichend Rechte und kann die Dateien mit Windows, cmd etc. pp. ohne Probleme bearbeiten, löschen ...
Es dankt für Hinweise -> Alex