mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-15 21:29:50 +02:00
lcl: don't restrict reading from files which are open for read by another applications (use fmShareDenyWrite or fmShareDenyNone depends on situation)
git-svn-id: trunk@19707 -
This commit is contained in:
parent
c4221ad3ac
commit
2e73997680
@ -1402,29 +1402,28 @@ end;
|
||||
function CopyFile(const SrcFilename, DestFilename: string PreserveTime:
|
||||
boolean): boolean;
|
||||
------------------------------------------------------------------------------}
|
||||
function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean
|
||||
): boolean;
|
||||
function CopyFile(const SrcFilename, DestFilename: String; PreserveTime: Boolean): Boolean;
|
||||
var
|
||||
SrcFS: TFileStream;
|
||||
DestFS: TFileStream;
|
||||
begin
|
||||
try
|
||||
SrcFS:=TFileStream.Create(UTF8ToSys(SrcFilename),fmOpenRead);
|
||||
SrcFS:=TFileStream.Create(UTF8ToSys(SrcFilename), fmOpenRead or fmShareDenyWrite);
|
||||
try
|
||||
DestFS:=TFileStream.Create(UTF8ToSys(DestFilename),fmCreate);
|
||||
DestFS := TFileStream.Create(UTF8ToSys(DestFilename), fmCreate);
|
||||
try
|
||||
DestFS.CopyFrom(SrcFS,SrcFS.Size);
|
||||
DestFS.CopyFrom(SrcFS, SrcFS.Size);
|
||||
finally
|
||||
DestFS.Free;
|
||||
end;
|
||||
if PreserveTime then
|
||||
FileSetDateUTF8(DestFilename, FileGetDate(SrcFS.Handle));
|
||||
FileSetDateUTF8(DestFilename, FileGetDate(SrcFS.Handle));
|
||||
finally
|
||||
SrcFS.Free;
|
||||
end;
|
||||
Result:=true;
|
||||
Result := True;
|
||||
except
|
||||
Result:=false;
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1866,22 +1865,22 @@ end;
|
||||
{------------------------------------------------------------------------------
|
||||
function ReadFileToString(const Filename: string): string;
|
||||
------------------------------------------------------------------------------}
|
||||
function ReadFileToString(const Filename: string): string;
|
||||
function ReadFileToString(const Filename: String): String;
|
||||
var
|
||||
fs: TFileStream;
|
||||
begin
|
||||
Result:='';
|
||||
Result := '';
|
||||
try
|
||||
fs:=TFileStream.Create(UTF8ToSys(Filename),fmOpenRead);
|
||||
fs := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||
try
|
||||
Setlength(Result,fs.Size);
|
||||
if Result<>'' then
|
||||
fs.Read(Result[1],length(Result));
|
||||
Setlength(Result, fs.Size);
|
||||
if Result <> '' then
|
||||
fs.Read(Result[1], Length(Result));
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
except
|
||||
Result:='';
|
||||
Result := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -233,7 +233,7 @@ procedure TGraphic.LoadFromFile(const Filename: string);
|
||||
var
|
||||
Stream: TStream;
|
||||
begin
|
||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead{ or fmShareDenyWrite});
|
||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||
try
|
||||
LoadFromStream(Stream);
|
||||
finally
|
||||
|
@ -494,7 +494,7 @@ begin
|
||||
Ext := ExtractFileExt(Filename);
|
||||
System.Delete(Ext, 1, 1); // delete '.'
|
||||
|
||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead{ or fmShareDenyWrite});
|
||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||
try
|
||||
LoadFromStreamWithFileExt(Stream, ext);
|
||||
finally
|
||||
|
@ -4821,7 +4821,7 @@ procedure TCustomTreeView.LoadFromFile(const FileName: string);
|
||||
var
|
||||
Stream: TStream;
|
||||
begin
|
||||
Stream := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead);
|
||||
Stream := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
|
||||
try
|
||||
LoadFromStream(Stream);
|
||||
finally
|
||||
|
@ -472,7 +472,7 @@ constructor TPOFile.Create(const AFilename: String; Full:boolean=False);
|
||||
var
|
||||
f: TStream;
|
||||
begin
|
||||
f := TFileStream.Create(UTF8ToSys(AFilename), fmOpenRead);
|
||||
f := TFileStream.Create(UTF8ToSys(AFilename), fmOpenRead or fmShareDenyNone);
|
||||
try
|
||||
Self.Create(f, Full);
|
||||
if FHeader=nil then
|
||||
|
Loading…
Reference in New Issue
Block a user