Recent

Author Topic: FPC 3.2.0 Released !  (Read 8762 times)

antispam88

  • Jr. Member
  • **
  • Posts: 54
Re: FPC 3.2.0 Released !
« Reply #45 on: June 23, 2020, 04:45:29 am »
Hi,
well done.

But I have an issue with my class/interface hierarchic which is working with 2.0.8 / 3.0.4.
But with 2.0.8 / 3.2.0 I'm getting the error
Code: Pascal  [Select][+][-]
  1. unit1.pas(54,13) Error: No matching implementation for interface method "SetLevel(const AnsiString);" found

Is my hierachic correct?

Best regards,
antispam88

eljo

  • Sr. Member
  • ****
  • Posts: 408
Re: FPC 3.2.0 Released !
« Reply #46 on: June 23, 2020, 04:54:49 am »
Hi,
well done.

But I have an issue with my class/interface hierarchic which is working with 2.0.8 / 3.0.4.
But with 2.0.8 / 3.2.0 I'm getting the error
Code: Pascal  [Select][+][-]
  1. unit1.pas(54,13) Error: No matching implementation for interface method "SetLevel(const AnsiString);" found

Is my hierachic correct?

Best regards,
antispam88
please start a new thread for questions outside the fpc or rtl.
In any case, you are implementing an interface that has a method named Setlevel the declaration of that method is different in the interface and your class that implements it.  For more info please share the details of that method or even better the interface and its implementation

antispam88

  • Jr. Member
  • **
  • Posts: 54
Re: FPC 3.2.0 Released !
« Reply #47 on: June 23, 2020, 05:06:51 am »
Hi,
well done.

But I have an issue with my class/interface hierarchic which is working with 2.0.8 / 3.0.4.
But with 2.0.8 / 3.2.0 I'm getting the error
Code: Pascal  [Select][+][-]
  1. unit1.pas(54,13) Error: No matching implementation for interface method "SetLevel(const AnsiString);" found

Is my hierachic correct?

Best regards,
antispam88

Thank you for your reply.
Is project1.zip not attached?

Code: Pascal  [Select][+][-]
  1.   { IInterface1 }
  2.  
  3.   IInterface1 = interface(IUnknown)
  4.     ['{C39204A5-CD80-44F5-95CB-8FD711783B98}']
  5.     procedure SetLevel(const alevel1, alevel2: integer);
  6.     procedure SetLevel(const alevel12: string); overload;
  7.   end;
  8.  
  9.   { TClass1 }
  10.  
  11.   TClass1 = class(TInterfacedObject, IInterface1)
  12.   protected
  13.     level1: integer;
  14.     level2: integer;
  15.   public
  16.     procedure SetLevel(const alevel1, alevel2: integer); virtual;
  17.     procedure SetLevel(const alevel12: string); overload;
  18.   end;
  19.  
  20.   { IInterface2 }
  21.  
  22.   IInterface2 = interface(IInterface1)
  23.     ['{1C1F8266-8923-452A-B3F4-C8C28381915A}']
  24.   end;
  25.  
  26.   { TClass2 }
  27.  
  28.   TClass2 = class(TClass1, IInterface2)
  29.   protected
  30.     param1: integer;
  31.   public
  32.     procedure SetParam1(const aparam1: integer);
  33.   end;
  34.  
  35.   { IInterface3 }
  36.  
  37.   IInterface3 = interface(IInterface2)
  38.     ['{4B8F5FAC-3F5C-453F-A604-500A20EAA95A}']
  39.   end;
  40.  
  41.   { TClass3 }
  42.  
  43.   TClass3 = class(TClass2, IInterface3)
  44.   public
  45.     procedure SetLevel(const alevel1, alevel2: integer); override;
  46.   end;
  47.  
  48. implementation
  49.  
  50. { TClass1 }
  51.  
  52. procedure TClass1.SetLevel(const alevel1, alevel2: integer);
  53. begin
  54.   level1 := alevel1;
  55.   level2 := alevel2;
  56. end;
  57.  
  58. procedure TClass1.SetLevel(const alevel12: string);
  59. begin
  60.   level1 := StrToInt(alevel12);
  61.   level2 := StrToInt(alevel12) div 1000;
  62. end;
  63.  
  64. { TClass2 }
  65.  
  66. procedure TClass2.SetParam1(const aparam1: integer);
  67. begin
  68.   param1 := aparam1;
  69. end;
  70.  
  71. { TClass3 }
  72.  
  73. procedure TClass3.SetLevel(const alevel1, alevel2: integer);
  74. begin
  75.   level1 := alevel1 * 2;
  76.   level2 := alevel2 * 3;
  77. end;
  78.  

And is my problem not regarding to fpc? The only change between both scenarios is the fpc version (3.0.4 -> 3.2.0).

Best regards,
antispam

ASerge

  • Hero Member
  • *****
  • Posts: 1683
Re: FPC 3.2.0 Released !
« Reply #48 on: June 23, 2020, 05:49:09 am »
But with 2.0.8 / 3.2.0 I'm getting the error
Code: Pascal  [Select][+][-]
  1. unit1.pas(54,13) Error: No matching implementation for interface method "SetLevel(const AnsiString);" found
Is my hierachic correct?
Carefully read Methods_implementing_interface_methods_and_overloads from User_Changes_3.2.0 and add an overload directive.

antispam88

  • Jr. Member
  • **
  • Posts: 54
Re: FPC 3.2.0 Released !
« Reply #49 on: June 23, 2020, 07:42:54 am »
But with 2.0.8 / 3.2.0 I'm getting the error
Code: Pascal  [Select][+][-]
  1. unit1.pas(54,13) Error: No matching implementation for interface method "SetLevel(const AnsiString);" found
Is my hierachic correct?
Carefully read Methods_implementing_interface_methods_and_overloads from User_Changes_3.2.0 and add an overload directive.

Thank you for your answer. This was the solution.

Best regards,
antispam

eny

  • Hero Member
  • *****
  • Posts: 1609
Re: FPC 3.2.0 Released !
« Reply #50 on: June 23, 2020, 06:43:47 pm »
Another milestone.
Many thx for all the hard work!
All posts based on: Win10 (Win64); Lazarus 2.0.10 'stable' (x64) unless specified otherwise...

furious programming

  • Sr. Member
  • ****
  • Posts: 468
  • I click a little.
    • TreeStructInfo — format for text and binary configuration files
Re: FPC 3.2.0 Released !
« Reply #51 on: June 24, 2020, 12:12:20 pm »
Nice to see the new compiler — good job, guys.

It depends on what you define as "compatible". There were improvements here, but not everything Delphi 2009 introduced is available (e.g. extended RTTI, anonymous functions).

Any plans for the future related to the implementation of anonymous methods?
Lazarus 2.0.10 with FPC 3.2.0 (SVN Revision 63526), Windows XP (all 32-bit)

PascalDragon

  • Hero Member
  • *****
  • Posts: 2278
  • Compiler Developer
Re: FPC 3.2.0 Released !
« Reply #52 on: June 24, 2020, 01:41:58 pm »
Any plans for the future related to the implementation of anonymous methods?

Work in progress.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1350
Re: FPC 3.2.0 Released !
« Reply #53 on: June 28, 2020, 08:46:44 pm »
Fpcupdeluxe uses the required bootstrap versions that are available in the FPC Makefile.
Now it seems that FPC 3.2.0 also defines itself (3.2.0) as bootstrapper.
Is this a new policy ?

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8803
  • FPC developer.
Re: FPC 3.2.0 Released !
« Reply #54 on: June 28, 2020, 10:29:51 pm »
Fpcupdeluxe uses the required bootstrap versions that are available in the FPC Makefile.
Now it seems that FPC 3.2.0 also defines itself (3.2.0) as bootstrapper.
Is this a new policy ?

  • Afaik both the release_3_2_0 and fixes_3_2 and trunk branches accept 3.0.4 and 3.2.0 as bootstrap.
  • But for fixes_3_2 and trunk, formally 3.2.0 is preferred.
  • release_3_2_0 should be able to auto-bootstrap (e.g. for cross compilers of new targets), and of course 3.0.4 to build a chain[/l]
So I don't see a new policy or problem to be honest. The policy is as always, use the released version logically before it (so 3.0.4 for 3.2.0 and 3.2.0 for 3.2.1 and trunk)

« Last Edit: June 28, 2020, 10:34:54 pm by marcov »

glorfin

  • Full Member
  • ***
  • Posts: 109
Re: FPC 3.2.0 Released !
« Reply #55 on: July 03, 2020, 10:48:32 pm »
Thanks and Congratulations!

Dmitry24

  • New Member
  • *
  • Posts: 22
Re: FPC 3.2.0 Released !
« Reply #56 on: July 09, 2020, 05:48:21 pm »
I can see a bug found in 3.2.0rc1 reported "resolved" months ago which fix is not merged in the final version 3.2.0: https://bugs.freepascal.org/view.php?id=36863

How can I find out which bugs are fixed in the 3.2.0 and which are not? In which FPC version will these bug fixes be merged?

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8803
  • FPC developer.
Re: FPC 3.2.0 Released !
« Reply #57 on: July 09, 2020, 06:14:50 pm »
How can I find out which bugs are fixed in the 3.2.0 and which are not?

The only hard way is getting the list of revisions eligible for merging of the 3.2.0 branch.

Quote
In which FPC version will these bug fixes be merged?

In the next major version, unless a maintainer merges it, or has somebody else merge it. 

PascalDragon

  • Hero Member
  • *****
  • Posts: 2278
  • Compiler Developer
Re: FPC 3.2.0 Released !
« Reply #58 on: July 10, 2020, 09:16:12 am »
I can see a bug found in 3.2.0rc1 reported "resolved" months ago which fix is not merged in the final version 3.2.0: https://bugs.freepascal.org/view.php?id=36863

Something being fixed based on a bug report for an RC does not automatically mean that it will be part of the final release.

Dmitry24

  • New Member
  • *
  • Posts: 22
Re: FPC 3.2.0 Released !
« Reply #59 on: July 13, 2020, 07:48:29 am »
I can see a bug found in 3.2.0rc1 reported "resolved" months ago which fix is not merged in the final version 3.2.0: https://bugs.freepascal.org/view.php?id=36863

Something being fixed based on a bug report for an RC does not automatically mean that it will be part of the final release.

Waiting 3 years to get a release where debugging is not possible is actually frustrating. Another big problem is that the next Lazarus version will be based on that FPC release.
« Last Edit: July 13, 2020, 07:52:21 am by Dmitry24 »

 

TinyPortal © 2005-2018