使用TULargeInteger在delphi 10.2中进行转换东京与以前的版本不同

时间:2017-05-28 13:11:00

标签: delphi delphi-10.2-tokyo

使用TULargeInteger进行强制转换,新的编译器10.2缺少atpartut LowPart和HighPart。

uses Winapi.Windows;

    function RetLargeInt: Int64;
    var
      ALow: DWORD;

    begin
      {Do Something
        With ALow
      }
      TULargeInteger(Result).LowPart := ALow; {Missing 'LowPart'}
    end;

    procedure AProc;
    var
     ALocalInt: Int64;
    begin
      ALocalInt := RetLargeInt;
      {Do Something}
    end;

1 个答案:

答案 0 :(得分:7)

在10.2东京,TULargeInteger的声明已经改变:

TULargeInteger = ULARGE_INTEGER;

到:

TULargeInteger = UInt64;

这意味着您无法再访问公开ULARGE_INTEGER的{​​{1}}记录字段。

LowPart

您可以更改代码以使用ULARGE_INTEGER = record case Integer of 0: ( LowPart: DWORD; HighPart: DWORD); 1: ( QuadPart: ULONGLONG); end; 代替:

ULARGE_INTEGER