Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
Delphi 7 Professional
|
Re: [Threads] Datei exklusiv öffnen
29. Sep 2004, 18:24
Zitat von shmia:
Mit folgenden Funktionen kannst du prüfen, ob eine Datei im Zugriff von anderen Anwendungen ist:
Delphi-Quellcode:
function FileIsClosed(const filename:string):Boolean;
const
FILE_SHARE_EXCLUSIVE = 0;
var
hnd: THandle;
begin
hnd := CreateFile(PChar(filename), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_EXCLUSIVE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
result := hnd <> INVALID_HANDLE_VALUE;
CloseHandle(hnd);
end;
function CheckIfFileExistsAndIsReadable(const AFileName: string): boolean;
begin
Result := FileExists(AFileName) and FileIsClosed(AFileName);
end;
Ich würde aber trotzdem eine andere Vorgehensweise empfehlen:
bilde ein Liste der Dateien, für die ein Thumb erzeugt werden soll.
Die Liste wird abgearbeitet; bei Erfolg wird das Element aus der Liste gelöscht oder markiert,
bei Misserfolg eben nicht.
Nach Abarbeiten der Liste wird diese nochmals abgearbeitet, um die Misserfolge auszubügeln.
Danke!
Den Code kann ich später noch gut gebrauchen. Bei mir war aber tatsächlich die große Anzahl von Notifications das Problem. Jetzt läuft alles viel performanter und die Zugriffsprobleme sind auch erledigt.
Sebastian
|
|
Zitat
|