Recent

Author Topic: FPC 3.2.0 Released !  (Read 4914 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: 407
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: 1613
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: 1593
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 1.8.0 'stable' (#56594 win64) unless specified otherwise...

furious programming

  • Sr. Member
  • ****
  • Posts: 422
  • 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.6 with FPC 3.0.4 (SVN Revision 62129), Windows XP (all 32-bit)

PascalDragon

  • Hero Member
  • *****
  • Posts: 1695
  • 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: 1284
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: 8463
  • 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

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

 

TinyPortal © 2005-2018