View Issue Details

IDProjectCategoryView StatusLast Update
0032812LazarusLazReportpublic2017-12-25 10:55
ReporterLagunov AlekseyAssigned ToOndrej Pokorny 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformWin32OSWindowsOS Version
Product Version1.8Product Build 
Target VersionFixed in Version 
Summary0032812: Patch fix error on loading detail reports on windows
Descriptionthis patch fix error on loading detail reports on windows
TagsNo tags attached.
Fixed in Revisionr56717, r56720, 56824
LazTarget-
Widgetset
Attached Files
  • lr.diff (1,759 bytes)
    Index: source/lr_class.pas
    ===================================================================
    --- source/lr_class.pas	(revision 56700)
    +++ source/lr_class.pas	(working copy)
    @@ -2462,7 +2462,7 @@
     constructor TlrDetailReport.Create;
     begin
       inherited Create;
    -  FReportBody:=TStringStream.Create('');
    +  FReportBody:=TStringStream.CreateRaw('');
     end;
     
     destructor TlrDetailReport.Destroy;
    @@ -2476,7 +2476,7 @@
       FReportName:=XML.GetValue(Path+'ReportName/Value', '');
       FReportDescription:=XML.GetValue(Path+'ReportDescription/Value', '');
       FReportBody.Size:=0;
    -  TStringStream(FReportBody).WriteString(XML.GetValue(Path+'ReportBody/Value', ''));
    +  TStringStream(FReportBody).WriteAnsiString(XML.GetValue(Path+'ReportBody/Value', ''));
     end;
     
     procedure TlrDetailReport.SaveToXML(XML: TLrXMLConfig; const Path: String);
    @@ -10064,7 +10064,7 @@
     var
       st: TStringStream;
     begin
    -  st := TStringStream.Create('');
    +  st := TStringStream.CreateRaw('');
       SaveToXMLStream(st);
       Writer.WriteString(st.DataString);
       st.free;
    @@ -11894,7 +11894,7 @@
       inherited Loaded;
       if FXMLReport<>'' then
       begin
    -    st := TStringStream.Create(FXMLReport);
    +    st := TStringStream.CreateRaw(FXMLReport);
         LoadFromXMLStream(st);
         st.free;
         FXMLReport := '';
    Index: source/lr_desgn.pas
    ===================================================================
    --- source/lr_desgn.pas	(revision 56700)
    +++ source/lr_desgn.pas	(working copy)
    @@ -8016,7 +8016,6 @@
         FSaveReportEvent:=frDesignerComp.OnSaveReport;
         frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
     
    -    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
         try
           FDetailRrep.ReportBody.Position:=0;
           if FDetailRrep.ReportBody.Size > 0 then
    
    lr.diff (1,759 bytes)
  • lr-2.patch (2,526 bytes)
    Index: components/lazreport/source/lr_class.pas
    ===================================================================
    --- components/lazreport/source/lr_class.pas	(revision 56720)
    +++ components/lazreport/source/lr_class.pas	(working copy)
    @@ -2462,7 +2462,7 @@
     constructor TlrDetailReport.Create;
     begin
       inherited Create;
    -  FReportBody:=TStringStream.Create('');
    +  FReportBody:=TMemoryStream.Create;
     end;
     
     destructor TlrDetailReport.Destroy;
    @@ -2472,11 +2472,15 @@
     end;
     
     procedure TlrDetailReport.LoadFromXML(XML: TLrXMLConfig; const Path: String);
    +var
    +  AValue: string;
     begin
       FReportName:=XML.GetValue(Path+'ReportName/Value', '');
       FReportDescription:=XML.GetValue(Path+'ReportDescription/Value', '');
       FReportBody.Size:=0;
    -  TStringStream(FReportBody).WriteString(XML.GetValue(Path+'ReportBody/Value', ''));
    +  AValue := XML.GetValue(Path+'ReportBody/Value', '');
    +  if AValue<>'' then
    +    FReportBody.WriteBuffer(AValue[1], Length(AValue)*SizeOf(Char));
     end;
     
     procedure TlrDetailReport.SaveToXML(XML: TLrXMLConfig; const Path: String);
    @@ -10062,11 +10066,16 @@
     
     procedure TfrReport.WriteReportXML(Writer: TWriter);
     var
    -  st: TStringStream;
    +  st: TMemoryStream;
    +  AValue: string;
     begin
    -  st := TStringStream.Create('');
    +  st := TMemoryStream.Create;
       SaveToXMLStream(st);
    -  Writer.WriteString(st.DataString);
    +  st.Position := 0;
    +  SetLength(AValue, st.Size div SizeOf(Char));
    +  if st.Size>0 then
    +    st.ReadBuffer(AValue[1], st.Size);
    +  Writer.WriteString(AValue);
       st.free;
     end;
     
    @@ -11889,12 +11898,15 @@
     
     procedure TfrReport.Loaded;
     var
    -  st: TStringStream;
    +  st: TMemoryStream;
     begin
       inherited Loaded;
       if FXMLReport<>'' then
       begin
    -    st := TStringStream.Create(FXMLReport);
    +    st := TMemoryStream.Create;
    +    if FXMLReport<>'' then
    +      st.WriteBuffer(FXMLReport[1], Length(FXMLReport)*SizeOf(Char));
    +    st.Position := 0;
         LoadFromXMLStream(st);
         st.free;
         FXMLReport := '';
    Index: components/lazreport/source/lr_desgn.pas
    ===================================================================
    --- components/lazreport/source/lr_desgn.pas	(revision 56720)
    +++ components/lazreport/source/lr_desgn.pas	(working copy)
    @@ -8016,7 +8016,6 @@
         FSaveReportEvent:=frDesignerComp.OnSaveReport;
         frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
     
    -    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
         try
           FDetailRrep.ReportBody.Position:=0;
           if FDetailRrep.ReportBody.Size > 0 then
    
    lr-2.patch (2,526 bytes)
  • lr_2017-12-20.diff (1,848 bytes)
    Index: source/lr_class.pas
    ===================================================================
    --- source/lr_class.pas	(revision 56803)
    +++ source/lr_class.pas	(working copy)
    @@ -2462,7 +2462,7 @@
     constructor TlrDetailReport.Create;
     begin
       inherited Create;
    -  FReportBody:=TStringStream.Create('');
    +  FReportBody:=TStringStream.CreateRaw('');
     end;
     
     destructor TlrDetailReport.Destroy;
    @@ -10064,7 +10064,7 @@
     var
       st: TStringStream;
     begin
    -  st := TStringStream.Create('');
    +  st := TStringStream.CreateRaw('');
       SaveToXMLStream(st);
       Writer.WriteString(st.DataString);
       st.free;
    @@ -11894,7 +11894,7 @@
       inherited Loaded;
       if FXMLReport<>'' then
       begin
    -    st := TStringStream.Create(FXMLReport);
    +    st := TStringStream.CreateRaw(FXMLReport);
         LoadFromXMLStream(st);
         st.free;
         FXMLReport := '';
    Index: source/lr_desgn.pas
    ===================================================================
    --- source/lr_desgn.pas	(revision 56803)
    +++ source/lr_desgn.pas	(working copy)
    @@ -7971,9 +7971,6 @@
       FSaveGetPValue:TGetPValueEvent;
       FSaveFunEvent:TFunctionEvent;
       FSaveReportEvent: TSaveReportEvent;
    -
    -  ///***DocMode: (dmDesigning, dmPrinting);             // current mode
    -
     begin
       if (GetComponent(0) is TfrCustomMemoView) and Assigned(CurReport) then
       begin
    @@ -7991,7 +7988,7 @@
         FSaveView:=CurView;
         FSaveBand:=CurBand;
         FSavePage:=CurPage;
    -  // DocMode: (dmDesigning, dmPrinting);             // current mode
    +
         frDesigner:=nil;
     
         CurReport:=TfrReport.Create(nil);
    @@ -8016,7 +8013,6 @@
         FSaveReportEvent:=frDesignerComp.OnSaveReport;
         frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
     
    -    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
         try
           FDetailRrep.ReportBody.Position:=0;
           if FDetailRrep.ReportBody.Size > 0 then
    
    lr_2017-12-20.diff (1,848 bytes)
  • lr_2017-12-20-2.diff (2,075 bytes)
    Index: source/lr_class.pas
    ===================================================================
    --- source/lr_class.pas	(revision 56803)
    +++ source/lr_class.pas	(working copy)
    @@ -2462,7 +2462,11 @@
     constructor TlrDetailReport.Create;
     begin
       inherited Create;
    +  {$IF FPC_FULLVERSION >= 30004}
    +  FReportBody:=TStringStream.CreateRaw('');
    +  {$ELSE}
       FReportBody:=TStringStream.Create('');
    +  {$ENDIF}
     end;
     
     destructor TlrDetailReport.Destroy;
    @@ -10064,7 +10068,11 @@
     var
       st: TStringStream;
     begin
    +  {$IF FPC_FULLVERSION >= 30004}
    +  st := TStringStream.CreateRaw('');
    +  {$ELSE}
       st := TStringStream.Create('');
    +  {$ENDIF}
       SaveToXMLStream(st);
       Writer.WriteString(st.DataString);
       st.free;
    @@ -11894,7 +11902,11 @@
       inherited Loaded;
       if FXMLReport<>'' then
       begin
    -    st := TStringStream.Create(FXMLReport);
    +    {$IF FPC_FULLVERSION >= 30004}
    +    st := TStringStream.CreateRaw(FXMLReport);
    +    {$ELSE}
    +      st := TStringStream.Create(FXMLReport);
    +    {$ENDIF}
         LoadFromXMLStream(st);
         st.free;
         FXMLReport := '';
    Index: source/lr_desgn.pas
    ===================================================================
    --- source/lr_desgn.pas	(revision 56803)
    +++ source/lr_desgn.pas	(working copy)
    @@ -7971,9 +7971,6 @@
       FSaveGetPValue:TGetPValueEvent;
       FSaveFunEvent:TFunctionEvent;
       FSaveReportEvent: TSaveReportEvent;
    -
    -  ///***DocMode: (dmDesigning, dmPrinting);             // current mode
    -
     begin
       if (GetComponent(0) is TfrCustomMemoView) and Assigned(CurReport) then
       begin
    @@ -7991,7 +7988,7 @@
         FSaveView:=CurView;
         FSaveBand:=CurBand;
         FSavePage:=CurPage;
    -  // DocMode: (dmDesigning, dmPrinting);             // current mode
    +
         frDesigner:=nil;
     
         CurReport:=TfrReport.Create(nil);
    @@ -8016,7 +8013,6 @@
         FSaveReportEvent:=frDesignerComp.OnSaveReport;
         frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
     
    -    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
         try
           FDetailRrep.ReportBody.Position:=0;
           if FDetailRrep.ReportBody.Size > 0 then
    
    lr_2017-12-20-2.diff (2,075 bytes)

Relationships

related to 0030508 resolvedMichael Van Canneyt FPC Lack of constructors/property related to encoding for TStringStream 

Activities

Lagunov Aleksey

2017-12-12 10:51

reporter  

lr.diff (1,759 bytes)
Index: source/lr_class.pas
===================================================================
--- source/lr_class.pas	(revision 56700)
+++ source/lr_class.pas	(working copy)
@@ -2462,7 +2462,7 @@
 constructor TlrDetailReport.Create;
 begin
   inherited Create;
-  FReportBody:=TStringStream.Create('');
+  FReportBody:=TStringStream.CreateRaw('');
 end;
 
 destructor TlrDetailReport.Destroy;
@@ -2476,7 +2476,7 @@
   FReportName:=XML.GetValue(Path+'ReportName/Value', '');
   FReportDescription:=XML.GetValue(Path+'ReportDescription/Value', '');
   FReportBody.Size:=0;
-  TStringStream(FReportBody).WriteString(XML.GetValue(Path+'ReportBody/Value', ''));
+  TStringStream(FReportBody).WriteAnsiString(XML.GetValue(Path+'ReportBody/Value', ''));
 end;
 
 procedure TlrDetailReport.SaveToXML(XML: TLrXMLConfig; const Path: String);
@@ -10064,7 +10064,7 @@
 var
   st: TStringStream;
 begin
-  st := TStringStream.Create('');
+  st := TStringStream.CreateRaw('');
   SaveToXMLStream(st);
   Writer.WriteString(st.DataString);
   st.free;
@@ -11894,7 +11894,7 @@
   inherited Loaded;
   if FXMLReport<>'' then
   begin
-    st := TStringStream.Create(FXMLReport);
+    st := TStringStream.CreateRaw(FXMLReport);
     LoadFromXMLStream(st);
     st.free;
     FXMLReport := '';
Index: source/lr_desgn.pas
===================================================================
--- source/lr_desgn.pas	(revision 56700)
+++ source/lr_desgn.pas	(working copy)
@@ -8016,7 +8016,6 @@
     FSaveReportEvent:=frDesignerComp.OnSaveReport;
     frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
 
-    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
     try
       FDetailRrep.ReportBody.Position:=0;
       if FDetailRrep.ReportBody.Size > 0 then
lr.diff (1,759 bytes)

Juha Manninen

2017-12-14 07:53

developer   ~0104687

Last edited: 2017-12-14 08:03

View 2 revisions

It says "on windows". Is the patch somehow specific to Windows? It does not seem so.
I applied the patch anyway in r56717 so it gets tested.

Lagunov Aleksey

2017-12-14 10:35

reporter   ~0104692

The error occurs in the case of a code page in the system other than UTF8.

Lagunov Aleksey

2017-12-14 10:50

reporter   ~0104694

work normal

Juha Manninen

2017-12-14 13:13

developer   ~0104699

Ok, resolving.

Juha Manninen

2017-12-14 15:05

developer   ~0104708

I had to revert the commit in r56720. It required FPC trunk. I also happen to have it now and the code compiled.
Please privide a patch that compiles at least with FPC 3.0.2.

Ondrej Pokorny

2017-12-14 15:24

developer  

lr-2.patch (2,526 bytes)
Index: components/lazreport/source/lr_class.pas
===================================================================
--- components/lazreport/source/lr_class.pas	(revision 56720)
+++ components/lazreport/source/lr_class.pas	(working copy)
@@ -2462,7 +2462,7 @@
 constructor TlrDetailReport.Create;
 begin
   inherited Create;
-  FReportBody:=TStringStream.Create('');
+  FReportBody:=TMemoryStream.Create;
 end;
 
 destructor TlrDetailReport.Destroy;
@@ -2472,11 +2472,15 @@
 end;
 
 procedure TlrDetailReport.LoadFromXML(XML: TLrXMLConfig; const Path: String);
+var
+  AValue: string;
 begin
   FReportName:=XML.GetValue(Path+'ReportName/Value', '');
   FReportDescription:=XML.GetValue(Path+'ReportDescription/Value', '');
   FReportBody.Size:=0;
-  TStringStream(FReportBody).WriteString(XML.GetValue(Path+'ReportBody/Value', ''));
+  AValue := XML.GetValue(Path+'ReportBody/Value', '');
+  if AValue<>'' then
+    FReportBody.WriteBuffer(AValue[1], Length(AValue)*SizeOf(Char));
 end;
 
 procedure TlrDetailReport.SaveToXML(XML: TLrXMLConfig; const Path: String);
@@ -10062,11 +10066,16 @@
 
 procedure TfrReport.WriteReportXML(Writer: TWriter);
 var
-  st: TStringStream;
+  st: TMemoryStream;
+  AValue: string;
 begin
-  st := TStringStream.Create('');
+  st := TMemoryStream.Create;
   SaveToXMLStream(st);
-  Writer.WriteString(st.DataString);
+  st.Position := 0;
+  SetLength(AValue, st.Size div SizeOf(Char));
+  if st.Size>0 then
+    st.ReadBuffer(AValue[1], st.Size);
+  Writer.WriteString(AValue);
   st.free;
 end;
 
@@ -11889,12 +11898,15 @@
 
 procedure TfrReport.Loaded;
 var
-  st: TStringStream;
+  st: TMemoryStream;
 begin
   inherited Loaded;
   if FXMLReport<>'' then
   begin
-    st := TStringStream.Create(FXMLReport);
+    st := TMemoryStream.Create;
+    if FXMLReport<>'' then
+      st.WriteBuffer(FXMLReport[1], Length(FXMLReport)*SizeOf(Char));
+    st.Position := 0;
     LoadFromXMLStream(st);
     st.free;
     FXMLReport := '';
Index: components/lazreport/source/lr_desgn.pas
===================================================================
--- components/lazreport/source/lr_desgn.pas	(revision 56720)
+++ components/lazreport/source/lr_desgn.pas	(working copy)
@@ -8016,7 +8016,6 @@
     FSaveReportEvent:=frDesignerComp.OnSaveReport;
     frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
 
-    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
     try
       FDetailRrep.ReportBody.Position:=0;
       if FDetailRrep.ReportBody.Size > 0 then
lr-2.patch (2,526 bytes)

Ondrej Pokorny

2017-12-14 15:26

developer   ~0104710

Try lr-2.patch. I didn't try to compile it myself (I don't use LazReport) so it may have mistakes but you should get an idea how to solve it for FPC 2.6.x+

Juha Manninen

2017-12-14 16:13

developer   ~0104711

Thanks Ondrej. Let's see what Lagunov Aleksey thinks.
I also don't use LazReport myself but I recently applied some patches that were ignored for a long time. This one backfired unfortunately.
I don't think LazReport needs to support FPC 2.6.x any more. Two last versions, min 3.0.2 (or maybe 3.0), should be enough.

Lagunov Aleksey

2017-12-20 08:59

reporter   ~0104876

Hi
I'm rewrite this patch
tested on revision 56803

Lagunov Aleksey

2017-12-20 08:59

reporter  

lr_2017-12-20.diff (1,848 bytes)
Index: source/lr_class.pas
===================================================================
--- source/lr_class.pas	(revision 56803)
+++ source/lr_class.pas	(working copy)
@@ -2462,7 +2462,7 @@
 constructor TlrDetailReport.Create;
 begin
   inherited Create;
-  FReportBody:=TStringStream.Create('');
+  FReportBody:=TStringStream.CreateRaw('');
 end;
 
 destructor TlrDetailReport.Destroy;
@@ -10064,7 +10064,7 @@
 var
   st: TStringStream;
 begin
-  st := TStringStream.Create('');
+  st := TStringStream.CreateRaw('');
   SaveToXMLStream(st);
   Writer.WriteString(st.DataString);
   st.free;
@@ -11894,7 +11894,7 @@
   inherited Loaded;
   if FXMLReport<>'' then
   begin
-    st := TStringStream.Create(FXMLReport);
+    st := TStringStream.CreateRaw(FXMLReport);
     LoadFromXMLStream(st);
     st.free;
     FXMLReport := '';
Index: source/lr_desgn.pas
===================================================================
--- source/lr_desgn.pas	(revision 56803)
+++ source/lr_desgn.pas	(working copy)
@@ -7971,9 +7971,6 @@
   FSaveGetPValue:TGetPValueEvent;
   FSaveFunEvent:TFunctionEvent;
   FSaveReportEvent: TSaveReportEvent;
-
-  ///***DocMode: (dmDesigning, dmPrinting);             // current mode
-
 begin
   if (GetComponent(0) is TfrCustomMemoView) and Assigned(CurReport) then
   begin
@@ -7991,7 +7988,7 @@
     FSaveView:=CurView;
     FSaveBand:=CurBand;
     FSavePage:=CurPage;
-  // DocMode: (dmDesigning, dmPrinting);             // current mode
+
     frDesigner:=nil;
 
     CurReport:=TfrReport.Create(nil);
@@ -8016,7 +8013,6 @@
     FSaveReportEvent:=frDesignerComp.OnSaveReport;
     frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
 
-    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
     try
       FDetailRrep.ReportBody.Position:=0;
       if FDetailRrep.ReportBody.Size > 0 then
lr_2017-12-20.diff (1,848 bytes)

Lagunov Aleksey

2017-12-20 09:00

reporter   ~0104877

I can not delete old files on this ticket (lr.diff, lr-2.patch).

Ondrej Pokorny

2017-12-20 09:15

developer   ~0104878

Aleksey, for your information: the CreateRaw constructor is available in FPC trunk only.

Once again: Please privide a patch that compiles at least with FPC 3.0.2.

Lagunov Aleksey

2017-12-20 14:29

reporter   ~0104879

I apologize - I read the message inattentively. Here is the correct version

Lagunov Aleksey

2017-12-20 14:29

reporter  

lr_2017-12-20-2.diff (2,075 bytes)
Index: source/lr_class.pas
===================================================================
--- source/lr_class.pas	(revision 56803)
+++ source/lr_class.pas	(working copy)
@@ -2462,7 +2462,11 @@
 constructor TlrDetailReport.Create;
 begin
   inherited Create;
+  {$IF FPC_FULLVERSION >= 30004}
+  FReportBody:=TStringStream.CreateRaw('');
+  {$ELSE}
   FReportBody:=TStringStream.Create('');
+  {$ENDIF}
 end;
 
 destructor TlrDetailReport.Destroy;
@@ -10064,7 +10068,11 @@
 var
   st: TStringStream;
 begin
+  {$IF FPC_FULLVERSION >= 30004}
+  st := TStringStream.CreateRaw('');
+  {$ELSE}
   st := TStringStream.Create('');
+  {$ENDIF}
   SaveToXMLStream(st);
   Writer.WriteString(st.DataString);
   st.free;
@@ -11894,7 +11902,11 @@
   inherited Loaded;
   if FXMLReport<>'' then
   begin
-    st := TStringStream.Create(FXMLReport);
+    {$IF FPC_FULLVERSION >= 30004}
+    st := TStringStream.CreateRaw(FXMLReport);
+    {$ELSE}
+      st := TStringStream.Create(FXMLReport);
+    {$ENDIF}
     LoadFromXMLStream(st);
     st.free;
     FXMLReport := '';
Index: source/lr_desgn.pas
===================================================================
--- source/lr_desgn.pas	(revision 56803)
+++ source/lr_desgn.pas	(working copy)
@@ -7971,9 +7971,6 @@
   FSaveGetPValue:TGetPValueEvent;
   FSaveFunEvent:TFunctionEvent;
   FSaveReportEvent: TSaveReportEvent;
-
-  ///***DocMode: (dmDesigning, dmPrinting);             // current mode
-
 begin
   if (GetComponent(0) is TfrCustomMemoView) and Assigned(CurReport) then
   begin
@@ -7991,7 +7988,7 @@
     FSaveView:=CurView;
     FSaveBand:=CurBand;
     FSavePage:=CurPage;
-  // DocMode: (dmDesigning, dmPrinting);             // current mode
+
     frDesigner:=nil;
 
     CurReport:=TfrReport.Create(nil);
@@ -8016,7 +8013,6 @@
     FSaveReportEvent:=frDesignerComp.OnSaveReport;
     frDesignerComp.OnSaveReport:=@DoSaveReportEvent;
 
-    //FDetailReport:=TStringStream.Create(Trim(FEditView.DetailReport.Text));
     try
       FDetailRrep.ReportBody.Position:=0;
       if FDetailRrep.ReportBody.Size > 0 then
lr_2017-12-20-2.diff (2,075 bytes)

Ondrej Pokorny

2017-12-20 14:35

developer   ~0104880

Alexey, your patch doesn't compile with FPC 3.0.4. Do you test your patches?

Lagunov Aleksey

2017-12-20 14:42

reporter   ~0104881

tested on 3.0.2 and trunk version

Ondrej Pokorny

2017-12-20 15:35

developer   ~0104884

See my previous comment "the CreateRaw constructor is available in FPC trunk only." => it is not available in FPC 3.0.4.

OK, I won't annoy you any more :) I asked on fpc-devel list in what FPC version the change will be available.

Lagunov Aleksey

2017-12-21 08:46

reporter   ~0104911

Can then rewrite the assignment like this:
  {$IF FPC_FULLVERSION >= 30101}

Ondrej Pokorny

2017-12-23 08:16

developer   ~0104959

Yes, I asked on the fpc list if they plan to backport the change to fpc 3.0.6 - no response, so I used ifdef for version 3.1.1.

Thanks for the patch.

Issue History

Date Modified Username Field Change
2017-12-12 10:51 Lagunov Aleksey New Issue
2017-12-12 10:51 Lagunov Aleksey File Added: lr.diff
2017-12-14 07:51 Juha Manninen Assigned To => Juha Manninen
2017-12-14 07:51 Juha Manninen Status new => assigned
2017-12-14 07:53 Juha Manninen Note Added: 0104687
2017-12-14 07:53 Juha Manninen LazTarget => -
2017-12-14 07:53 Juha Manninen Status assigned => feedback
2017-12-14 08:03 Juha Manninen Note Edited: 0104687 View Revisions
2017-12-14 10:35 Lagunov Aleksey Note Added: 0104692
2017-12-14 10:35 Lagunov Aleksey Status feedback => assigned
2017-12-14 10:50 Lagunov Aleksey Note Added: 0104694
2017-12-14 13:13 Juha Manninen Fixed in Revision => r56717
2017-12-14 13:13 Juha Manninen Note Added: 0104699
2017-12-14 13:13 Juha Manninen Status assigned => resolved
2017-12-14 13:13 Juha Manninen Resolution open => fixed
2017-12-14 13:47 Lagunov Aleksey Status resolved => closed
2017-12-14 15:05 Juha Manninen Note Added: 0104708
2017-12-14 15:05 Juha Manninen Status closed => assigned
2017-12-14 15:05 Juha Manninen Resolution fixed => reopened
2017-12-14 15:06 Juha Manninen Fixed in Revision r56717 => r56717, r56720
2017-12-14 15:24 Ondrej Pokorny File Added: lr-2.patch
2017-12-14 15:26 Ondrej Pokorny Note Added: 0104710
2017-12-14 16:13 Juha Manninen Note Added: 0104711
2017-12-15 16:13 Juha Manninen Status assigned => feedback
2017-12-20 08:59 Lagunov Aleksey Note Added: 0104876
2017-12-20 08:59 Lagunov Aleksey Status feedback => assigned
2017-12-20 08:59 Lagunov Aleksey File Added: lr_2017-12-20.diff
2017-12-20 09:00 Lagunov Aleksey Note Added: 0104877
2017-12-20 09:15 Ondrej Pokorny Note Added: 0104878
2017-12-20 12:15 Maxim Ganetsky Status assigned => feedback
2017-12-20 14:29 Lagunov Aleksey Note Added: 0104879
2017-12-20 14:29 Lagunov Aleksey Status feedback => assigned
2017-12-20 14:29 Lagunov Aleksey File Added: lr_2017-12-20-2.diff
2017-12-20 14:35 Ondrej Pokorny Note Added: 0104880
2017-12-20 14:42 Lagunov Aleksey Note Added: 0104881
2017-12-20 15:35 Ondrej Pokorny Note Added: 0104884
2017-12-21 08:46 Lagunov Aleksey Note Added: 0104911
2017-12-21 10:07 Juha Manninen Relationship added related to 0030508
2017-12-23 08:16 Ondrej Pokorny Fixed in Revision r56717, r56720 => r56717, r56720, 56824
2017-12-23 08:16 Ondrej Pokorny Note Added: 0104959
2017-12-23 08:16 Ondrej Pokorny Status assigned => resolved
2017-12-23 08:16 Ondrej Pokorny Resolution reopened => fixed
2017-12-23 08:16 Ondrej Pokorny Assigned To Juha Manninen => Ondrej Pokorny
2017-12-25 10:55 Lagunov Aleksey Status resolved => closed