1. 访问对象
1.1. 相关属性和方法
static function CreateInstance(type: Type; Params: array of TObject): TObject; overload;
创建type类型的对象,使用Params作为需要的参数
static function CreateSZArray(elementType: Type; length: Longint): System.Array; overload;
创建length个type类型的对象
static function CallMethod(o: TObject; methodName: string; methodParams: array of TObject): TObject; overload;
调用o对象的methodname方法,方法的参数是methodParams
static function GetFieldValue(o: TObject; fieldName: string): TObject; overload;
获取o对象的fieldName的域值
static function GetPropertyValue(o: TObject; propName: string; propParams: array of TObject): TObject; overload;
获取o对象的propName的属性值(暂时不支持属性数组)
static function GetType(o: TObject): Type; overload;
获取o对象的类型
static procedure SetFieldValue(o: TObject; fieldName: string; v: TObject); overload;
设置o对象的fieldName域的值
static procedure SetPropertyValue(o: TObject; propName: string; propParams: array of TObject; v: TObject); overload;
设置o对象的propName属性的值(暂时不支持属性数组)
1.2. 用法示例
切换行号显示
1 var
2 t: Type_;
3 b: object;
4 begin
5 t := TButton;
6 b := ObjectHelper.CreateInstance(t, [Self]);
7 ObjectHelper.SetPropertyValue(b, 'Parent', [], Self);
8 jsDialogs.ShowMsg(ObjectHelper.ToString(ObjectHelper.CallMethod(b, 'Focused', [])), '');
9 end; |