Einzelnen Beitrag anzeigen

e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
156 Beiträge
 
Delphi 6 Enterprise
 
#1

FindFirstFileW - Handle-Problem

  Alt 8. Okt 2010, 12:59
Hallo,

um bei Dateien mit internationalen Schriftzeichen die Dateigröße ermitteln zu können, habe ich folgenden Code geschrieben:
Delphi-Quellcode:
function GetFileSize(const FileName: widestring): Int64;
var H: THandle;
     D: TWIN32FindDataW;
begin
  H:= FindFirstFileW(PWideChar(FileName),D);
  if H<>INVALID_HANDLE_VALUE then begin
    if D.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY=0 then
      Result:= (Int64(D.nFileSizeHigh) shl 32) or D.nFileSizeLow
    else Result:= 0;
    CloseHandle(H); // funktioniert nicht!
  end
  else Result:= -1;
end;
Allerdings bekomme ich bei CloseHandle(H) immer ein Exception der Klasse EExternalException. Meldung: 'Externe Exception C0000008'
Wo ist da der Fehler? Das Handle muss ich ja freigeben. Aber wie sonst?

Gruß
e-gon
  Mit Zitat antworten Zitat