Hallo alle zusammen...
Folgende Probleme:
ich will den Ordner Temp auf meiner Platte leeren und verwende dazu folgenden Source:
Wenn ich dem Pfad zum Temp Ordner mit der folgenden Funktion ermittle:
Delphi-Quellcode:
procedure TForm1.tab1Show(Sender: TObject);
var
Buffer: array[0..MAX_PATH] of Char;
begin
GetTempPath(SizeOf(Buffer) - 1, Buffer);
ordner.Text:= StrPas(Buffer);
end;
Bekomme ich folgendes Ergebniss:
Code:
C:\DOKUME~1\stephan\LOKALE~1\Temp\
ich habe aber auch noch hier einen Temp Ordner:
Welcher ist denn nun wofür ?
Die Routine zum löschen des Inhaltes:
Delphi-Quellcode:
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 or FOF_NOERRORUI;
pFrom := PChar(dir + #0);
end;
Result := (0 = ShFileOperation(fos));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DelDir(ordner.Text+'*.*');
end;
Der Ordner kann damit nicht geleert werden wenn Dateien darin enthalten sind auf die zur Laufzeit zugegriffen wird...
Was kann man da machen ?