Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#4

Re: [Threads] Datei exklusiv öffnen

  Alt 29. Sep 2004, 17: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
  Mit Zitat antworten Zitat