DELPHI 创建自定义类对象必须要Txxx.Create吗?我不这样也能用怎么回事?

我写的程序有时侯会报错,后来别人告诉我说类对象要这么用varobj:TObject;beginobj:=TObject.Create;//创建try//使用....fin... 我写的程序有时侯会报错,后来别人告诉我说类对象要这么用
var obj:TObject;
begin
obj:=TObject.Create;//创建
try
//使用....
finally
obj.free;//释放
end;
end;
这样使用才对,我试了下果然不报错了,但是我现在有几个疑问
1 为什么 要 obj:=TObject.Create;这样写,obj.Create为什么不可以呢?
2 比如我在用TEdit组件的时候,就 edit1 : TEdit; 就完事了,好用,也没用TEdit.Create啊,所以我想问,到底什么时候才要Create呢
展开
 我来答
请别乱插牛粪
2011-01-12
知道答主
回答量:11
采纳率:0%
帮助的人:7.2万
展开全部
1.Txxx.create表示用这个类的构造方法 实例化这个对象,就好比java 一样,只是java的构造函数是跟类同名,java 用 new xxxx()
2,你说的直接edit1 : TEdit 的情况 是 你拖动一个edit 到 窗口上,然后发现声明了一个edit1 : TEdit ,对吧。其实 ,在你拖动的过程中delphi 帮你在后台做了一些事情,你可以alt+F12看一看,在.frm文件里。如果你自己写代码 写下 edit1 : TEdit,那是用不了的,还要 create,而且 还要edit1.parent :=窗体(不然不会显示)。
mit1208
2011-01-12 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1860万
展开全部
现在编程都是面向对象编程.
你先声明一个类变量.创建的时候,只是实例化这个类的对象.
然后再使用它里边的一些属性和方法!
相当于你买一个车.谁知道你买的啥车啊?
所以说要先从车这个大的体系里说明是买的汽车,这就是实例化一个类.
然后再对汽车里边的某些东西操作,比如刹车啊.踩油门啊,踩离合啊什么的!
既然有创建,就要有对应的释放了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
surwe
2011-01-12 · TA获得超过631个赞
知道小有建树答主
回答量:1339
采纳率:44%
帮助的人:249万
展开全部
不需要
你有初始化类,则需要释放,反正不用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式