假设我有一个名为TProgramSettings的类,如下所示:
TProgramSettings = class flags:UInt32; …结束;
PProgramSettings = ^ TProgramSettings;所以我初始化我的程序就像……
类类型的对象已经是一个指针,所以实际上不需要像你那样取消引用它。相当于
TProgramSettings = class flags: UInt32; ... end;
...
var MyProgramSettings: TProgramSettings; begin MyProgramSettings := TProgramSettings.Create; MyProgramSettings.Flags := 0; ApplySettings(MyProgramSettings);
procedure ApplySettings(ProgramSettings: TProgramSettings); var MyObject : TCustomObject; begin MyObject := TCustomObject.Create; MyObject.Settings.Flags := ProgramSettings.Flags; ... end;
关于记录和类对象之间的区别,好吧,想到它的一种方法是当你将记录定义为var时,该定义创建记录(不需要调用'Create')而对于一个类你只是创建一个指向对象的点,你仍然需要创建对象本身。除此之外还有很多东西,但是开始思考它还有很多东西。