![]() |
Testdatei im System 32 löschen
Hey, ich versuche grad mit
Delphi-Quellcode:
aber er löscht sie einfach nicht ...
function DeleteFile(const AFile: string): boolean;
var sh: SHFileOpStruct; begin ZeroMemory(@sh, sizeof(sh)); with sh do begin Wnd := Application.Handle; wFunc := fo_Delete; pFrom := PChar(AFile +#0); fFlags := fof_Silent or fof_NoConfirmation; end; result := SHFileOperation(sh) = 0; end; if deletefile(GetSystemDir+'\datei.txt') then showmessage'datei gelöscht'; |
Re: Testdatei im System 32 löschen
Hat der Benutzer Adminrechte?
|
Re: Testdatei im System 32 löschen
Beinhaltet GetSystemDir evtl. schon den Backslash?
|
Re: Testdatei im System 32 löschen
hmm, ja also der benutzer hat adminrechte, und nein an dem backslash liegts nicht, son blödes ding, der leert die datei nur ...
|
Re: Testdatei im System 32 löschen
Wieso nimmst Du eigentlich nicht die "Standard"-DeleteFile?
|
Re: Testdatei im System 32 löschen
Liefert SysErrorMessage(GetLastError) eine Fehlermeldung?
|
Re: Testdatei im System 32 löschen
@ DeddyH weil das auch nicht geht :(
@ toms wie meinst du das? |
Re: Testdatei im System 32 löschen
Zitat:
Delphi-Quellcode:
auf
ShowMessage(SysErrorMessage(GetLastError))
|
Re: Testdatei im System 32 löschen
Zitat:
![]() Grüße Klaus |
Re: Testdatei im System 32 löschen
ja aber mit der stanard funktion passiert das selbe ...
und bei ShowMessage(SysErrorMessage(GetLastError)) sagt er nur das der vorgang erfolgreich beendet wurde ... |
Re: Testdatei im System 32 löschen
Von was für einem Betriebssystem reden wir eigentlich?
|
Re: Testdatei im System 32 löschen
wir reden von wiendows xp sp 2
|
Re: Testdatei im System 32 löschen
Ich habe gesehen, dass GetLastError bei SHFileOperation nicht funktioniert.
Überprüfe mal, was für einen Wert SHFileOperation zurückgibt. ![]() |
Re: Testdatei im System 32 löschen
Hat das vielleicht was mit den Reparaturbestrebungen von Windows (Stichwort 'dllcache') zu tun?
|
Re: Testdatei im System 32 löschen
Zitat:
und zwar mit sysutils.deleteFile(); Ich vermute daher, dass die Datei nicht korrekt geschlossen wurde und somit noch ein offenes Handle hat. Schau mal in Deinen code wo Du die Datei erstellst. |
Re: Testdatei im System 32 löschen
hey, ich hab grad was komisches rausgefunden, wenn ich das genau gleich in einem neuen projekt mache, also ohne meinen restlichen code, dann gehts ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz