Hi,
ich bitte dich dein Code absofort in [ delphi] [ /delphi] einzupacken (ohne die Leerzeichen). Danke.
Ich habe deinen Source einwenig verändert:
Delphi-Quellcode:
uses
{...} ,ShellAPI;
var
Form1: TForm1;
function DelDir(dir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do begin
wFunc := FO_DELETE;
// fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
// nimm das mal heraus, um zu sehen, was er dir ausgibt
pFrom := PChar(dir + #0#0);
end;
Result := (0 = ShFileOperation(fos));
end;
procedure DeleteAll(Dir, Files : string);
var
SearchRec : TSearchRec;
begin
if FindFirst(Dir+Files, faAnyFile, SearchRec) = 0 then begin
DeleteFile(SearchRec.Name);
while FindNext(SearchRec) = 0 do
DeleteFile(Dir + SearchRec.Name);
end;
FindClose(SearchRec);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
dir : string;
begin
// DelDir(dir); ? Was machst du denn hier ? dir ist noch leer!!
dir := 'C:\Windows\Temp\'; // sicher, dass es nicht "C:\WINDOWS\..." ist?
DelDir(dir);
DeleteAll(dir, '*.*' );
// RemoveDir(dir); Hast du doch schon einmal gemacht... :?
end;
Änder das mal und sage uns mal was ausgegeben wird...
Desweiteren: such mal in der CodeLibrary nach "DoFileWork". Die Funktion von sakura kann das ganz gut und macht auch keine Probleme...
Chris