uses System.Reflection;
type MyClass = class
private
x: integer := 5;
public
procedure PrintFields := Print(x);
end;
begin
var a := new MyClass;
var fi := a.GetType.GetField('x', BindingFlags.Instance or BindingFlags.NonPublic);
fi.SetValue(a,777);
a.PrintFields;
end.