diff --git a/components/fpspreadsheet/laz_fpspreadsheet.lpk b/components/fpspreadsheet/laz_fpspreadsheet.lpk
index 927f44530..576b79f47 100644
--- a/components/fpspreadsheet/laz_fpspreadsheet.lpk
+++ b/components/fpspreadsheet/laz_fpspreadsheet.lpk
@@ -85,11 +85,14 @@
-
+
+
+
+
-
+
diff --git a/components/fpspreadsheet/laz_fpspreadsheet.pas b/components/fpspreadsheet/laz_fpspreadsheet.pas
index 5fa602f39..98e3ff5ea 100644
--- a/components/fpspreadsheet/laz_fpspreadsheet.pas
+++ b/components/fpspreadsheet/laz_fpspreadsheet.pas
@@ -7,8 +7,10 @@ unit laz_fpspreadsheet;
interface
uses
- fpolestorage, fpsallformats, fpsopendocument, fpspreadsheet, xlsbiff2,
- xlsbiff5, xlsbiff8, xlsxooxml, fpsutils, fpszipper, LazarusPackageIntf;
+ fpolestorage, fpsallformats, fpsopendocument, fpspreadsheet, xlsbiff2,
+ xlsbiff5, xlsbiff8, xlsxooxml, fpsutils, fpszipper, uvirtuallayer_types,
+ uvirtuallayer, uvirtuallayer_ole, uvirtuallayer_ole_helpers,
+ uvirtuallayer_ole_types, uvirtuallayer_stream, fpolebasic, LazarusPackageIntf;
implementation
diff --git a/components/fpspreadsheet/uvirtuallayer_ole.pas b/components/fpspreadsheet/uvirtuallayer_ole.pas
index 9dbfdb93b..2487c789a 100644
--- a/components/fpspreadsheet/uvirtuallayer_ole.pas
+++ b/components/fpspreadsheet/uvirtuallayer_ole.pas
@@ -311,7 +311,7 @@ var
Name: WideString;
VI: TVirtualLayer_Item;
begin
- Name:=UTF8Encode(FDirectory[AStartSibling]._ab);
+ Name:=UTF8Encode(wideString(FDirectory[AStartSibling]._ab));
if Mask.Matches(Name) Then begin
VI:=TVirtualLayer_Item.Create;
VI.Name:=Name;
diff --git a/components/fpspreadsheet/xlsbiff5.pas b/components/fpspreadsheet/xlsbiff5.pas
index 557b51f1c..be30914e0 100755
--- a/components/fpspreadsheet/xlsbiff5.pas
+++ b/components/fpspreadsheet/xlsbiff5.pas
@@ -950,10 +950,10 @@ begin
INT_EXCEL_ID_FORMULA: ReadFormula(AStream);
INT_EXCEL_ID_BOF: ;
INT_EXCEL_ID_EOF: SectionEOF := True;
- else
// Show unsupported record types to console.
{.$DEFINE SHOWUNSUPPORTED}
{$IFDEF SHOWUNSUPPORTED}
+ else
case RecordType of
$000C: ; //(CALCCOUNT) This record is part of the Calculation Settings Block. It specifies the maximum number of times the formulas should be iteratively calculated. This is a fail-safe against mutually recursive formulas locking up a spreadsheet application.
$000D: ; //(CALCMODE) This record is part of the Calculation Settings Block. It specifies whether to calculate formulas manually, automatically or automatically except for multiple table operations.
@@ -995,8 +995,8 @@ begin
else
WriteLn(format('Record type: %.4X Record Size: %.4X',[RecordType,RecordSize]));
end;
- end;
{$ENDIF}
+ end;
// Make sure we are in the right position for the next record
AStream.Seek(CurStreamPos + RecordSize, soFromBeginning);