FMX 动态创建 和 销毁(释放free) 对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
function FindChild(Name: string ; Parent: TFmxObject): TFmxObject; var I: Integer ; Child: TFmxObject; begin Result := nil ; if (Parent <> nil ) and (Parent . Children <> nil ) then begin for I := Parent . Children . Count - 1 downto 0 do begin Child := TFmxObject(Parent . Children[I]); if Child . Name = Name then begin Result := Child; break; end ; end ; end ; end ; procedure FreeAndNilFmxObject( var Obj: TFmxObject); begin if Obj <> nil then begin Obj . Parent := nil ; Obj . SetRoot( nil ); FreeAndNil(Obj); end ; end ; var AIndex : Integer = 0 ; procedure TForm1 . Button1Click(Sender: TObject); var A: TButton; B: TFmxObject; begin ReportMemoryLeaksOnShutdown := True ; B := FindChild( 'A' , Self); if (B <> nil ) and (B is TButton) then begin A := B as TButton; B := nil ; // //后面 FormDestroy 的代码不一样,但效果一样。 FreeAndNilFmxObject(TFmxObject(A)); end ; // if (B <> nil) and (B is TButton) then // begin // A := B as TButton; // B.Parent := nil; // B.SetRoot(nil); // B := nil; // FreeAndNil(A); // end; inc(AIndex); A := TButton . Create( nil ); A . Name := 'A' ; A . Position . Y := AIndex * A . Height; A . Text := '按钮' + AIndex . ToString; A . Parent := Self; end ; procedure TForm1 . FormDestroy(Sender: TObject); var B: TFmxObject; begin ReportMemoryLeaksOnShutdown := True ; B := FindChild( 'A' , Self); //这样写更简单些。 FreeAndNilFmxObject(B); end ; |
http://www.delphi6.com/thread-68.htm
FMX 动态创建 和 销毁(释放free) 对象的更多相关文章
- 【转】FMX 动态创建及销毁(释放free)对象
http://www.2pascal.com/thread-3037-1-1.html这是原文地址. (* ********************************************** ...
- C#动态创建接口的实现实例对象
本文简单介绍如何动态创建接口interface的实现实例对象,包含两个知识点: 1.如何获取接口interface的所有实现实例对象? 2.如何判断实例对象的构造函数是否有参数? 准备工作 首先新建一 ...
- C#动态创建单例类的对象
单例类 public class SnappingClass : ISnappingEnvironment, IExtension { // private static readonly Snapp ...
- unity3d通过代码动态创建销毁游戏对象
只能动态创建内部提供的游戏对象,代码如下: //按下C后创建 if (Input.GetKeyDown (KeyCode.C)) { GameObject s1 = GameObject.Create ...
- Qt Quick 组件和动态创建的对象具体的解释
在<Qt Quick 事件处理之信号与槽>一文中介绍自己定义信号时,举了一个简单的样例.定义了一个颜色选择组件,当用户在组建内点击鼠标时,该组件会发出一个携带颜色值的信号,当时我使用 Co ...
- Unity进阶技巧 - 动态创建UGUI
前言 项目中有功能需要在代码中动态创建UGUI对象,但是在网上搜索了很久都没有找到类似的教程,最后终于在官方文档中找到了方法,趁着记忆犹新,写下动态创建UGUI的方法,供需要的朋友参考 你将学到什么? ...
- 动态创建html元素的几种方法
可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到数组中,再遍历数组动态创建html元素 3.使用模版 □ 使用jQuery动态创建元素追加到jQ ...
- jQuery动态创建html元素的常用方法汇总
在使用jQuery进行WEB程序设计的时候非常有用.分享给大家供大家参考.具体方法如下: 一般来说,可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到 ...
- 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板
[源码下载] 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板 作者:webabcd 介绍不可或缺 Window ...
随机推荐
- ant的condition任务
1.istrue isfalse:断言 真 假 <project name="testCondition"> <target name="test&qu ...
- 2013级别C++文章9周(春天的)工程——运算符重载(两)
课程主页中:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读程序"简单C++学生 ...
- 你不从地址栏中增加曝光量所需的数据库ID方法
<p><span style="font-size: 18px;"></span></p> 当你想隐藏数据库id时,你能够使用 Ha ...
- Windows 下 MySQL-python 的安装
1. 标准方式 进入终端: > pip install MySQL-python 第一次安装(windows 下安装),可能会出错:缺少 vs 编译器,提示点击如下网站 Download Mic ...
- 线性滤波器(linear filter)与非线性滤波器(non-linear filter)
1. 均值滤波器与中值滤波器 image processing - Difference between linear and non linear filter - Signal Processin ...
- win10系统应用打不开
可能有一些用户升级Win10之后遇到了应用商店.应用打不开或闪退的问题,此时可尝试通过下面的一些方法来解决. 1.点击任务栏的搜索(Cortana小娜)图标,输入Powershell,在搜索结果中右键 ...
- CMMI 能力成熟度模型集成
关于CMMI的过程域,请参考 CMMI能力成熟度模型集成的过程区域 1.CMMI/SPCA概述 CMM是“能力成熟度模型(Capability Maturity Model)”的英文简写,该模型由美国 ...
- 零元学Expression Design 4 - Chapter 3 看小光被包围了!!如何活用「Text On Path」设计效果
原文:零元学Expression Design 4 - Chapter 3 看小光被包围了!!如何活用「Text On Path」设计效果 本章将教大家如何活用「Text On Path」,做出文绕图 ...
- Spring综合Struts2
1.1. Spring综合Struts2 1) 该Spring用户手机WEB-INF下一个 2) 把Spring配置文件配置到web.xml中 <!-- 引入Spr ...
- Qt5官方demo分析集10——Qt Quick Particles Examples - Emitters
此系列的所有文章都可以在这里查看http://blog.csdn.net/cloud_castle/article/category/2123873 前段时间去听了Qt在北京的开发人员大会,感觉QML ...