为什么这个简单的代码无法在ios 64位上编译?

时间:2018-07-31 06:31:04

标签: delphi

我不明白为什么此代码无法在 ios 64位上编译。

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

type
  TRDLVector = record
    case Byte of
      0 : (dw : DWord);
      1 : (bt : array[0..3] of Byte);
    end;

function RdlSubVector(const v : TRDLVector) : TRDLVector;
begin
end;

end.

返回我:

  

[DCC错误] Unit1.pas(37):E2581后端错误:函数返回类型   与返回inst的操作数类型不匹配! ret void,!dbg!20074   i64

在delphi 10.1(柏林)上可以正常编译,但在delphi 10.2(东京)上无法编译

这是一个错误还是我做错了什么?

注意:将TRDLVector = record更改为TRDLVector = packed record使其正常工作,不明白为什么

0 个答案:

没有答案