delphi中ComponentCount是什么属性?
时间:2011-11-09
来源:互联网
Type
TY = class(Y)
...
End`
Var A:TY;
1、其中Y继承自TForm
2、TForm继承自TCustomForm
3、TCustomForm继承自TScrollingWinControl
4、TScrollingWinControl继承自TWinControl
5、TWinControl继承自TControl
6、TControl继承自TComponent
7、TComponent中含有ComponentCount属性
//-- 调用:
Self.ComponentCount; // -- 可以调用
A.ComponentCount; // -- 内存访问错误
请问这是什么原因?难道self和A不一样么?
备注:A的创建方式:A := XXXX.Create(Apllication);
TY = class(Y)
...
End`
Var A:TY;
1、其中Y继承自TForm
2、TForm继承自TCustomForm
3、TCustomForm继承自TScrollingWinControl
4、TScrollingWinControl继承自TWinControl
5、TWinControl继承自TControl
6、TControl继承自TComponent
7、TComponent中含有ComponentCount属性
//-- 调用:
Self.ComponentCount; // -- 可以调用
A.ComponentCount; // -- 内存访问错误
请问这是什么原因?难道self和A不一样么?
备注:A的创建方式:A := XXXX.Create(Apllication);
作者: Wencombe 发布时间: 2011-11-09
A和self不一样。
self表示实例本身。可以代表任意实例。
而A只代表A而已。
出现A.ComponentCount; // -- 内存访问错误
的原因是,A可能还没有被创建就被你引用了。
self表示实例本身。可以代表任意实例。
而A只代表A而已。
出现A.ComponentCount; // -- 内存访问错误
的原因是,A可能还没有被创建就被你引用了。
作者: SmallHand 发布时间: 2011-11-09
引用 1 楼 smallhand 的回复:
A和self不一样。
self表示实例本身。可以代表任意实例。
而A只代表A而已。
出现A.ComponentCount; // -- 内存访问错误
的原因是,A可能还没有被创建就被你引用了。
A和self不一样。
self表示实例本身。可以代表任意实例。
而A只代表A而已。
出现A.ComponentCount; // -- 内存访问错误
的原因是,A可能还没有被创建就被你引用了。
是的,我调用的方式在TY FormCreate当中进行创建,此时的A变量应该尚未创建成功,应用应当会处理内存访问错误的问题,但是self为什么可以呢?
如您所说:“self表示实例本身。可以代表任意实例。”
此时的A尚未创建成功,且该函数的前缀(.)所属于TY的方法,此时的self就是TY类的对象A
且Integer(A),和Integer(Self)是相同的,如果A访问出了问题,那么self为何不会出问题么?
作者: Wencombe 发布时间: 2011-11-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28