Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: [Threads] Datei exklusiv öffnen

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