起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 139|回复: 2

[分享]ObjectHelper**

[复制链接]
发表于 2008-8-25 16:05:06 | 显示全部楼层 |阅读模式
ObjectHelper可以用来调用对象的各种方法和属性,也可以用来做数据类型转换。
回复

使用道具 举报

 楼主| 发表于 2008-8-25 16:05:34 | 显示全部楼层

访问对象

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;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-25 16:06:19 | 显示全部楼层

数据类型转换

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 03:24 , Processed in 0.038542 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表