Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ordnernamen mit Nummern wird nicht gelöscht.. warum?? (https://www.delphipraxis.net/106362-ordnernamen-mit-nummern-wird-nicht-geloescht-warum.html)

moshhc 9. Jan 2008 17:59


Ordnernamen mit Nummern wird nicht gelöscht.. warum??
 
Hi Leutz...

Vielleicht, habt Ihr ne Idee.. wie gesagt ich habe einen Ordner z.B.: c:\Test\123456.. wenn ich versuche den Ordner 123455 zu löschen passiert einfach gar nichts..


Source:

Code:
function DelDir(Dir : String) : Boolean;
var
 FileOption : TSHFileOpStruct;
begin
 ZeroMemory(@FileOption,SizeOf(FileOption));
 with FileOption do
 begin
   wFunc := FO_DELETE;
   fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
   pFrom := PChar(Dir + #0);
 end;
 Result := (ShFileOperation(FileOption) = 0);
end;

teebee 9. Jan 2008 18:52

Re: Ordnernamen mit Nummern wird nicht gelöscht.. warum??
 
Was genau steht in "Dir"? Am Ende darf kein Backslash stehen.

moshhc 9. Jan 2008 22:16

Re: Ordnernamen mit Nummern wird nicht gelöscht.. warum??
 
Ich lösche damit die Empfangenden Datein von ICQ... natürlich Userbezogen.. also wenn ich die ICQ.NR 123456 habe, dann macht ICQ ja ein Verzeichins unter C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\ICQ\~BenutzerNr so und den möchte ich löschen.. samt Inhalt.. ich habe mal spasseshalber den Ordner umbenannt in Test.. und siehe da.. es konnten alle Daten gelöscht werden... Wenn der Ordner aber so aussieht C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\ICQ\12345 dann geht es nicht.. also ein Backslash am Ende habe ich nicht drin..

CYA TIM :drunken:

Christian Seehase 9. Jan 2008 22:25

Re: Ordnernamen mit Nummern wird nicht gelöscht.. warum??
 
Moin Tim,

probier doch mal, ob GetLastError, bzw. ShowMessage(SysErrorMessage(GetLastError)) etwas Sinnvolles zurückliefert, wenn SHFileOperation fehlschlägt.
Ausserdem könntest Du die Flags auch einfach mal weglassen, um eine Meldung zu bekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz