danieleteti / delphimvcframework

DMVCFramework (for short) is a popular and powerful framework for WEB API in Delphi. Supports RESTful and JSON-RPC WEB APIs development.
Apache License 2.0
1.26k stars 360 forks source link

Compile error with TMVCActiveRecord and Delphi 10.3 #763

Closed gmurt closed 3 months ago

gmurt commented 3 months ago

I'm trying to integrate DMVC, and specifically TMVCActiveRecord into an existing project but as soon as I create an entity class which inherits from TMVCActiveRecord, I get the following internal error when compiling...

[dcc32 Fatal Error] Data.Entities.pas(24): F2084 Internal Error: URW1237

I'm on an active subscription and Develop new projects in Delphi 12 but this is a legacy project and upgrading to D12 is not an option due to the number of third party products used.

Has any one else experienced this issue?

Here is my code, if I comment out the class then the project compiles fine.

unit Data.Entities;

interface

uses
  Classes,
  MVCFramework.ActiveRecord,
  MVCFramework.Nullables;

type
  TTestEntity = class(TMVCActiveRecord)
  public

  end;

implementation

uses
  SysUtils;

end.
danieleteti commented 3 months ago

That's is a Delphi problem... however.... Did you try to comment piece by piece? For instance, commenting the nullables unit, change something? Such kind of internal errors are raised for some internal compiler bug, so is quite difficult to understand what causes them. Try to comment something to understand what is causing it. Older DMVCFramework versions raise the same error? Could you use an older version? Can this test be useful to understand what is the main error cause?

gmurt commented 3 months ago

Hi Daniel,

Yes, it's the following line which causes the issue. Even in a blank Delphi project, the error occurs.

TTestEntity = class(TMVCActiveRecord)

I did some googling and it's something to do with generics and overloading so I guessed it's probably not an easy fix.

I spent the evening modifying my code (and upgrading some third party commercial libraries) and now I have my project compiling in 11.3 - this didn't turn out to be as big a challenge as I expected.

Kind regards, Graham

danieleteti commented 3 months ago

Good. Thank you for the feedback.

DT

Il Mer 24 Lug 2024, 07:18 Graham Murt @.***> ha scritto:

Hi Daniel,

Yes, it's the following line which causes the issue. Even in a blank Delphi project, the error occurs.

TTestEntity = class(TMVCActiveRecord)

I did some googling and it's something to do with generics and overloading so I guessed it's probably not an easy fix.

I spent the evening modifying my code (and upgrading some third party commercial libraries) and now I have my project compiling in 11.3 - this didn't turn out to be as big a challenge as I expected.

Kind regards, Graham

— Reply to this email directly, view it on GitHub https://github.com/danieleteti/delphimvcframework/issues/763#issuecomment-2246919315, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK4ZJARCTEWABC5DGSR7KDZN42JDAVCNFSM6AAAAABLKACZICVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBWHEYTSMZRGU . You are receiving this because you were assigned.Message ID: @.***>