Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Compiler/Delphi/Execution    [ Add a report in this area ]  
Report #:  71266   Status: Closed
F2084 Internal Error: URW1023
Project:  Delphi Build #:  12.0.3170.16989
Version:    12.0 Submitted By:   Roman Silin
Report Type:  Basic functionality failure Date Reported:  2/8/2009 5:40:41 AM
Severity:    Commonly encountered problem Last Updated: 9/5/2012 8:15:02 PM
Platform:    32 Bit Internal Tracking #:   268078
Resolution: Fixed (Resolution Comments) Resolved in Build: : 17.0.4625.53395
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
Message:
[DCC Fatal Error] Unit1.pas(37): F2084 Internal Error: URW1023

when compiling an INLINED FUNCTION
Steps to Reproduce:
Compile this:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Unit2, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  G: TConverter1;
begin
  G.Read(TMemoryStream.Create);
end;

end.

--

unit Unit2;

interface

uses
  Classes;

type

  TConverter1 = packed record
  public
    function Read(Stream: TStream): Integer; inline;
  end;

implementation

{ TConverter1 }

function TConverter1.Read(Stream: TStream): Integer;
var
  B: array[0..15] of Byte;
begin
//  Result := ...
end;

end.


// Exp: no errors
// Act: [DCC Fatal Error] Unit1.pas(37): F2084 Internal Error: URW1023

Workarounds
None
Attachment
None
Comments

Uwe Schuster at 2/8/2009 8:51:52 AM -
I can repeat it with Update 1 (build 3210) and get URW1135.
Note you've entered build 3170. It would be good if you apply the latest update(s) before you report an issue.

From my POV this is a duplicate or close to a duplicate of

Report No: 68007 (RAID: 265985)          Status: Open
Internal Error URW1023 (overload + inline)
http://qc.codegear.com/wc/qcmain.aspx?d=68007

The difference is just that it is a record in your case and a class in QC 68007.

Server Response from: ETNACODE01