Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TRec = record
- Name: string;
- Age: string;
- etc...
- end;
- TParameterRec = record
- private
- fRec: TRec;
- procedure SetRec(Value: TRec);
- public
- property Rec: TRec read fRec write SetRec;
- end;
- TSampleClass = class
- private
- fParameters: TParameterRec;
- protected
- ValidateParameters;
- ValidateParameters_Record(aRec: TRec);
- public
- property Parameters: TParameterRec read fParameters write SetParameters;
- end;
- procedure TSampleClass.SetParameters(Value: TParameterRec);
- begin
- fParameters := Value;
- ValidateParameters;
- end;
- procedure TSampleClass.ValidateParameters;
- begin
- ValidateParameters_Record(fParameters.Rec);
- end;
- procedure TSampleClass.ValidateParameters_Record(
- aRec: TRec);
- begin
- if aRec.Name = '' then
- aRec.Name := 'something'; //Here nothing happens, outside name will be empty
- end;
- procedure TParameterRec.SetRec(Value: TRec);
- begin
- fRec := Value;
- end;
- ....
- var
- SampleClass: TSampleClass;
- ParamRec: TParameterRec;
- begin
- SampleClass := TSampleClass.Create;
- try
- ParamRec.Rec := SomeRec; //It has default values, Name is empty
- SampleClass.Parameters := ParamRec;
- ....
- end;
Add Comment
Please, Sign In to add comment