You've already forked lazarus-ccr
fpspreadsheet: Adds a work around for a internal compiler error, see bug 22370
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2475 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -53,6 +53,7 @@ var
|
||||
fsOLE: TVirtualLayer_OLE;
|
||||
OLEStream: TStream;
|
||||
VLAbsolutePath: UTF8String;
|
||||
tmpStream: TStream; // workaround to a compiler bug, see bug 22370
|
||||
begin
|
||||
VLAbsolutePath:='/'+AStreamName; //Virtual layer always use absolute paths.
|
||||
if not AOverwriteExisting and FileExists(AFileName) then begin
|
||||
@ -62,7 +63,12 @@ begin
|
||||
fsOLE:=TVirtualLayer_OLE.Create(RealFile);
|
||||
fsOLE.Format(); //Initialize and format the OLE container.
|
||||
OLEStream:=fsOLE.CreateStream(VLAbsolutePath,fmCreate);
|
||||
AOLEDocument.Stream.Position:=0; //Ensures it is in the begining.
|
||||
|
||||
// work around code for the bug 22370
|
||||
tmpStream:=AOLEDocument.Stream;
|
||||
tmpStream.Position:=0; //Ensures it is in the begining.
|
||||
//previous code: AOLEDocument.Stream.Position:=0; //Ensures it is in the begining.
|
||||
|
||||
OLEStream.CopyFrom(AOLEDocument.Stream,AOLEDocument.Stream.Size);
|
||||
OLEStream.Free;
|
||||
fsOLE.Free;
|
||||
|
Reference in New Issue
Block a user