C++ Builder 参考手册 ➙ System::Classes ➙ TPersistent
System::Classes::TPersistent 是 VCL/FMX 里面有复制功能和流处理的类的公共父类。
- System::Classes::TPersistent 简介
- System::Classes::TPersistent 成员
一. System::Classes::TPersistent 简介
System::Classes::TPersistent 是 VCL/FMX 里面有复制功能和流处理的类的公共父类。
- 继承关系:
System::TObject
⠀╙ System::Classes::TPersistent - 头文件:
#include <System.Classes.hpp> - 命名空间:
System::Classes - 提供把一个对象的所有属性和数据赋值 (包括格式或类型转换之后再赋值) 给另一个对象的功能;
- 提供从 .dfm / .fmx 里面读写属性值的功能;
- 从 TPersistent 继承的类虽然不是控件,但是它的属性可以保存到 .dfm / .fmx 里面,并且提供把所有的属性和数据都赋值到其他对象的功能。经常用在控件的类型为类的属性,这个控件的属性里面的属性和数据也需要保存在 .dfm / .fmx 里面,例如控件的字体属性,虽然字体不是控件,但是作为控件的属性,字体里面的属性,字体名称,大小,字符集等字体的属性,也会保存在 .dfm / .fmx 里面。
二. System::Classes::TPersistent 成员
| 成员函数 | 说明 |
|---|---|
| public: | |
| Assign | 把 Source 对象的所有的属性和数据赋值到当前对象 |
| GetNamePath | 返回在 Object Inspector 属性面板里面的名称 |
| TPersistent | 构造函数 |
| ~TPersistent | 析构函数 |
| protected: | |
| AssignTo | 把当前对象的所有属性和数据都赋值到 Dest 对象 |
| DefineProperties | 把非 __published: 属性和数据存入流中 |
| GetOwner | 返回对象的拥有者 |
| TObject:: | 从 System::TObject 继承过来的 |
| public: | 从 System::TObject 继承过来的 |
| AfterConstruction | 在构造函数结束的时候会自动调用 AfterConstruction |
| BeforeDestruction | 在执行析构函数之前会自动调用 BeforeDestruction |
| ClassInfo | 返回运行时类型信息表 (RTTI table) |
| ClassName | 获取类名,不包含命名空间的类名字符串 |
| ClassNameIs | 判断类名是否为参数指定的字符串 |
| ClassParent | 返回父类的类型信息 |
| ClassType | 返回类的类型信息 |
| CleanupInstance | 清除长字符串、Variants、接口变量等 |
| DefaultHandler | 默认的消息处理 |
| Dispatch | 处理消息的函数 |
| DisposeOf | 强制销毁对象 |
| Equals | 比较当前对象和 Obj 对象是否相同 |
| FieldAddress | 通过成员名称返回成员的地址 |
| Free | 销毁对象 (Delphi) |
| FreeInstance | 释放 NewInstance 分配的内存 |
| GetInterface | 获取指定的接口 |
| GetInterfaceEntry | 获取接口项目 |
| GetInterfaceTable | 获取接口表 |
| GetHashCode | 返回对象的 hash 值 |
| InheritsFrom | 当前对象的类是否从 AClass 继承过来的 |
| InitInstance | 初始化成员,给他们清零 |
| InstanceSize | 返回给实例数据分配内存需要多少字节数 |
| MethodAddress | 通过名称返方法的地址 |
| MethodName | 通过方法的地址返回名称 |
| NewInstance | 给实例分配内存,并且返回新的实例的地址 |
| QualifiedClassName | 返回包含命名空间的类名 |
| SafeCallException | 处理异常的函数 |
| ToString | 转为字符串 |
| UnitName | 返回类所在的命名空间 |
| UnitScope | 返回类所在的命名空间 |
参考:
C++ Builder 参考手册 ➙ System::Classes ➙ TPersistent