You've already forked lazarus-ccr
fpspreadsheet: Use fmShareDenyNone when opening files for reading (see Mantis 0026826).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3636 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -95,7 +95,7 @@ begin
|
||||
VLAbsolutePath:='/'+AStreamName; //Virtual layer always use absolute paths.
|
||||
try
|
||||
RealFile:=nil;
|
||||
RealFile:=TFileStream.Create(AFileName,fmOpenRead or fmShareDenyWrite);
|
||||
RealFile:=TFileStream.Create(AFileName, fmOpenRead or fmShareDenyNone);
|
||||
try
|
||||
fsOLE:=nil;
|
||||
fsOLE:=TVirtualLayer_OLE.Create(RealFile);
|
||||
|
@ -7342,9 +7342,9 @@ var
|
||||
InputFile: TStream;
|
||||
begin
|
||||
if (boBufStream in Workbook.Options) then
|
||||
InputFile := TBufStream.Create(AFileName, fmOpenRead)
|
||||
InputFile := TBufStream.Create(AFileName, fmOpenRead + fmShareDenyNone)
|
||||
else
|
||||
InputFile := TFileStream.Create(AFileName, fmOpenRead);
|
||||
InputFile := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone);
|
||||
try
|
||||
ReadFromStream(InputFile, AData);
|
||||
finally
|
||||
|
@ -1586,7 +1586,7 @@ Begin
|
||||
if Assigned(FOnOpenInputStream) then
|
||||
FOnOpenInputStream(Self, FZipStream);
|
||||
if FZipStream = nil then
|
||||
FZipStream:=TFileStream.Create(FFileName,fmOpenRead);
|
||||
FZipStream:=TFileStream.Create(FFileName,fmOpenRead + fmShareDenyNone);
|
||||
End;
|
||||
|
||||
|
||||
|
@ -178,22 +178,22 @@ object MainForm: TMainForm
|
||||
OnSelection = HexGridSelection
|
||||
ColWidths = (
|
||||
28
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
26
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
20
|
||||
)
|
||||
Cells = (
|
||||
16
|
||||
@ -263,22 +263,22 @@ object MainForm: TMainForm
|
||||
OnClick = GridClick
|
||||
OnSelection = AlphaGridSelection
|
||||
ColWidths = (
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
17
|
||||
18
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
15
|
||||
27
|
||||
)
|
||||
Cells = (
|
||||
16
|
||||
|
@ -818,6 +818,7 @@ procedure TMainForm.LoadFile(const AFileName: String; AFormat: TsSpreadsheetForm
|
||||
var
|
||||
OLEDocument: TOLEDocument;
|
||||
streamname: UTF8String;
|
||||
filestream: TFileStream;
|
||||
begin
|
||||
if MemStream <> nil then
|
||||
FreeAndNil(MemStream);
|
||||
@ -828,7 +829,14 @@ begin
|
||||
MemStream := TMemoryStream.Create;
|
||||
|
||||
if AFormat = sfExcel2 then begin
|
||||
MemStream.LoadFromFile(UTF8ToSys(AFileName));
|
||||
fileStream := TFileStream.Create(UTF8ToSys(AFileName), fmOpenRead + fmShareDenyNone);
|
||||
try
|
||||
MemStream.CopyFrom(fileStream, fileStream.Size);
|
||||
MemStream.Position := 0;
|
||||
// MemStream.LoadFromFile(UTF8ToSys(AFileName));
|
||||
finally
|
||||
filestream.Free;
|
||||
end;
|
||||
end else begin
|
||||
OLEStorage := TOLEStorage.Create;
|
||||
|
||||
|
@ -1666,7 +1666,7 @@ begin
|
||||
|
||||
// Write adapted copy of shared formula to stream.
|
||||
WriteRPNTokenArray(AStream, ACell, formula, false, RPNLength);
|
||||
// false --> "do not convert cess addresses to relative offsets", because
|
||||
// false --> "do not convert cell addresses to relative offsets", because
|
||||
// biff2 does not support shared formulas!
|
||||
|
||||
// Clean up
|
||||
|
Reference in New Issue
Block a user