Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi gesperrte Datei öffnen (https://www.delphipraxis.net/49971-gesperrte-datei-oeffnen.html)

RavenIV 19. Jul 2005 07:51


gesperrte Datei öffnen
 
servus

auf die Gefahr hin, dass dies schon öfter gefragt wurde:

wie kann man eine Datei öffnen, die von einer anderen Anwendung bereits geöffnet ist?
Mit TstringList.LoadFromFile oder TFileStream.Read können dies ja nicht.

Jedoch öffnet der Windows-Editor diese datei ohne Murren.
Also MUSS es irgendwie gehen...

gruessle

marabu 19. Jul 2005 08:06

Re: gesperrte Datei öffnen
 
Einfach Öffnen mit LoadFromFile ist keine gute Idee, wenn du um eine file resource konkurrierst. So öffnest du, wenn du kooperativ sein willst:

Delphi-Quellcode:
var
  fs: TFileStream;
begin
  fs := TFileStream.Create(fileName, fmOpenRead, fmShareDenyWrite);
  fs.Read()
  fs.Free;
end;
Grüße vom marabu

RavenIV 19. Jul 2005 08:20

Re: gesperrte Datei öffnen
 
hatte ich schon versucht mit
Delphi-Quellcode:
FileStream := TFileStream.Create(AFilename, fmOpenRead or fmShareDenyWrite);
aber es gab wieder ne exception (datei bereits geöffnet).

gruessle

marabu 19. Jul 2005 08:36

Re: gesperrte Datei öffnen
 
Der Editor kann? Dann versuche fmShareDenyNone.

marabu

RavenIV 19. Jul 2005 08:58

Re: gesperrte Datei öffnen
 
danke, so funktioniert es.
Delphi-Quellcode:
  if FileExists(Filename) then
  begin
    FileStream := TFileStream.Create(Filename, fmOpenRead or fmShareDenyNone);
    try
      Zeilen.LoadFromStream(FileStream);
    finally
      FileStream.Free;
    end;
  end;
und ich habe das File nun doch in einer StringList (Zeilen).

gruessle


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz