1、object关键字相当于C++中的struct, record定义个结构体只能定义数据,而object可以定义方法,默认都是public的。
代码示例如下:
TTest = record
name: string;
age: Integer;
end; TTest2 = object
name: string;
age: Integer; function _Info: string;
end; function TTest2._Info: string;
begin
Result := name + ' is ' + IntToStr(age) + ' years old.'
end;
2、absolute关键字 【Absolute address(绝对地址)】
你可以创建一个新变量,它和另一个变量在内存的同一个位置。要这样做的话,声明这个新变量时在类
型名的后面跟关键字absolute,后面再跟一个已存在(先前声明)的变量。比如,
var
Str: string[32];
StrLen: Byte absoluteStr;
指定变量StrLen从Str的地址开始。因为短字符串的第一个字节包含字符串的长度,StrLen的值就是Str
的长度。
使用absolute声明时不能初始化变量,也不能组合其它指示字(和absolute一同使用)。