Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TFileStream.Create - Fehler.... (https://www.delphipraxis.net/145842-tfilestream-create-fehler.html)

Sereby 9. Jan 2010 07:47


TFileStream.Create - Fehler....
 
Hiho,

ich bekomme des öfteren Automatische Bugreports (MadExcept) zugeschickt in denen es um TFileStream.Create geht..
einer dieser Fehler ist z.B. dieser:

Zitat:

exception class : EFOpenError
exception message : Datei F:\Addons\Archive_Files\GnLite-W2k3_x86_04_2009\msxml6.exe kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden.
Das komische daran ist, dass ich versuche die MD5 Summe aus der Datei auszulesen und den Pfad der Datei anfangs durch Findfirst und co. ausgelesen habe also die Datei 100% existiert!
Des weiteren prüfe ich vorher ob die Datei existiert, falls im unwahrscheinlichen fall der user die datei doch ma eben schnell gelöscht haben sollte.
Da FileExist ja True zurück gibt denke ich ja wohl dass alles OK ist..
Die MD5 Unit benutzt einfach folgendes um die datei zu öffnen:
Delphi-Quellcode:
function MD5File(const FileName: string): TMD5Digest;
var
 F: TFileStream;
begin
 F:=TFileStream.Create(FileName, fmOpenRead);
 try
  Result:=MD5Stream(F);
 finally
  F.Free;
 end;
end;
Was bedeutet dieser fehler nun? ich kapier das nich :(
extra info: das programm hat ein Admin-Manifest läuft also mit Administrator-Rechten

sx2008 9. Jan 2010 13:16

Re: TFileStream.Create - Fehler....
 
Könnte sein, dass zu diesem Zeitpunkt ein Virenscanner die Datei geöffnet hat.
Oder der Explorer liest die Datei um das Icon zu extrahieren.
Du solltest das gleichzeitige Lesen der Datei erlauben und entsprechende Share-Flags angeben:
Delphi-Quellcode:
F:=TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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