mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-26 13:57:37 +01: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,14 +1402,13 @@ end;
|
|||||||
function CopyFile(const SrcFilename, DestFilename: string PreserveTime:
|
function CopyFile(const SrcFilename, DestFilename: string PreserveTime:
|
||||||
boolean): boolean;
|
boolean): boolean;
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean
|
function CopyFile(const SrcFilename, DestFilename: String; PreserveTime: Boolean): Boolean;
|
||||||
): boolean;
|
|
||||||
var
|
var
|
||||||
SrcFS: TFileStream;
|
SrcFS: TFileStream;
|
||||||
DestFS: TFileStream;
|
DestFS: TFileStream;
|
||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
SrcFS:=TFileStream.Create(UTF8ToSys(SrcFilename),fmOpenRead);
|
SrcFS:=TFileStream.Create(UTF8ToSys(SrcFilename), fmOpenRead or fmShareDenyWrite);
|
||||||
try
|
try
|
||||||
DestFS := TFileStream.Create(UTF8ToSys(DestFilename), fmCreate);
|
DestFS := TFileStream.Create(UTF8ToSys(DestFilename), fmCreate);
|
||||||
try
|
try
|
||||||
@ -1422,9 +1421,9 @@ begin
|
|||||||
finally
|
finally
|
||||||
SrcFS.Free;
|
SrcFS.Free;
|
||||||
end;
|
end;
|
||||||
Result:=true;
|
Result := True;
|
||||||
except
|
except
|
||||||
Result:=false;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1866,17 +1865,17 @@ end;
|
|||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
function ReadFileToString(const Filename: string): string;
|
function ReadFileToString(const Filename: string): string;
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function ReadFileToString(const Filename: string): string;
|
function ReadFileToString(const Filename: String): String;
|
||||||
var
|
var
|
||||||
fs: TFileStream;
|
fs: TFileStream;
|
||||||
begin
|
begin
|
||||||
Result := '';
|
Result := '';
|
||||||
try
|
try
|
||||||
fs:=TFileStream.Create(UTF8ToSys(Filename),fmOpenRead);
|
fs := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||||
try
|
try
|
||||||
Setlength(Result, fs.Size);
|
Setlength(Result, fs.Size);
|
||||||
if Result <> '' then
|
if Result <> '' then
|
||||||
fs.Read(Result[1],length(Result));
|
fs.Read(Result[1], Length(Result));
|
||||||
finally
|
finally
|
||||||
fs.Free;
|
fs.Free;
|
||||||
end;
|
end;
|
||||||
|
|||||||
@ -233,7 +233,7 @@ procedure TGraphic.LoadFromFile(const Filename: string);
|
|||||||
var
|
var
|
||||||
Stream: TStream;
|
Stream: TStream;
|
||||||
begin
|
begin
|
||||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead{ or fmShareDenyWrite});
|
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||||
try
|
try
|
||||||
LoadFromStream(Stream);
|
LoadFromStream(Stream);
|
||||||
finally
|
finally
|
||||||
|
|||||||
@ -494,7 +494,7 @@ begin
|
|||||||
Ext := ExtractFileExt(Filename);
|
Ext := ExtractFileExt(Filename);
|
||||||
System.Delete(Ext, 1, 1); // delete '.'
|
System.Delete(Ext, 1, 1); // delete '.'
|
||||||
|
|
||||||
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead{ or fmShareDenyWrite});
|
Stream := TFileStream.Create(UTF8ToSys(Filename), fmOpenRead or fmShareDenyWrite);
|
||||||
try
|
try
|
||||||
LoadFromStreamWithFileExt(Stream, ext);
|
LoadFromStreamWithFileExt(Stream, ext);
|
||||||
finally
|
finally
|
||||||
|
|||||||
@ -4821,7 +4821,7 @@ procedure TCustomTreeView.LoadFromFile(const FileName: string);
|
|||||||
var
|
var
|
||||||
Stream: TStream;
|
Stream: TStream;
|
||||||
begin
|
begin
|
||||||
Stream := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead);
|
Stream := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
|
||||||
try
|
try
|
||||||
LoadFromStream(Stream);
|
LoadFromStream(Stream);
|
||||||
finally
|
finally
|
||||||
|
|||||||
@ -472,7 +472,7 @@ constructor TPOFile.Create(const AFilename: String; Full:boolean=False);
|
|||||||
var
|
var
|
||||||
f: TStream;
|
f: TStream;
|
||||||
begin
|
begin
|
||||||
f := TFileStream.Create(UTF8ToSys(AFilename), fmOpenRead);
|
f := TFileStream.Create(UTF8ToSys(AFilename), fmOpenRead or fmShareDenyNone);
|
||||||
try
|
try
|
||||||
Self.Create(f, Full);
|
Self.Create(f, Full);
|
||||||
if FHeader=nil then
|
if FHeader=nil then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user