在Delphi中,absolute用于代表指定的变量是另一个变量另一种声明格式。比如:
TInt32Value=record IntValue:Integer; end; TByteValue=record ByteValue:array[0..3] of Byte; end;
现在声明一个TInt32Value的变量并设置其值为$01020304:
var AValue:TInt32Value; begin AValue.IntValue:=$01020304; end;
此时,BValue和AValue实际就同用一块内存了,你可以按TByteValue的格式对其进行访问了。如果你测试的话,会发现现在,我们要按字节序列访问其内容,只需要声明如下:
var BValue:TByteValue absolute AValue;
BValue.ByteValue数组的值为依次为$04,$03,$02,$01。