哪些类申明后不用创建(Create)?
告诉我原理吧。
告诉我原理吧。
解决方案 »
- 简单地显示一个ICON。
- 怎么调用Enumprinters windowsAPI函数?
- 如何让从表数量更改时主表数量的值同时更新?
- 如何模拟键盘鼠标(会不会有点难度)
- 用OLE調用outlook錯誤
- 请问哪有《DELPHI5.x分布式多层应用系统编》的附书源码下载? ——不是书,是源码!
- office的颜色会随系统颜色的改变而改变,比如用windows xp的蓝色主题,office xp的 memu就是一套蓝色的方案,如果用橄榄色,office xp就
- 现在找工?!大家谈谈自己的找工经验?! 另:广州那边的工作好找么?!
- 如何在memo中查找到匹配的字符串,并选中他
- 火急!!!
- 把汇编用在delphi中有什么好处吗?
- 请教如何实现浏览器的URL拖放功能?(不使用控件)
,父类隐形的调用了CREATE
继承TObject
里面只有一些 整数,字符串类型的属性我试过不创建
直接使用它的实例,也不报错
已存在按钮 Button1var MyForm:TButton;MyForm:=Button1;这时候对MyForm进行操作,就是对Button1操作!没用Create吧?而常见的那个Create不过是控件的祖先类虚构函数
见TComponent的成员:constructor Create(AOwner: TComponent); virtual;constructor TComponent.Create(AOwner: TComponent);
begin
FComponentStyle := [csInheritable];
if AOwner <> nil then AOwner.InsertComponent(Self);
end;
...一层层看吧,看看是怎么完成初始化的!现在明白什么时候没有Create,什么时候不需要Create了吧?
for i:=0 to 90000000000000000000000 do
begin
YourObject[i] := TYourObject.Create(nil);
end;不出意外,你的机子会崩溃。
都是用VAR
可变量就不用实例化(create)如果是Record什么的,又是属于什么呢?
变量的类型(如:Integer, Pchar)是不是类?我不太明白。
而Integer,String则是普通的数据类型在 DELPHI里面,如果某个变量申明了一个普通的数据类型的话,系统会自动分配给该变量一段空间,而不用你再去申请空间了,而如果一个变量申明的是指针类型的话,则该变量不过是指向一个地址,而不是给该变量分配一段内存空间,需要你在运行的时候去申请,系统才会给你一段内存的空间
如
Var i:Integer;
Btn1:TButton;对于i,在申明的时候系统已经给了i两个字节的空间,而对于Btn1,系统并没有给他空间,需要Btn1 := TButton.Create(); 进行实例化,此时,系统分配出了一块空间出来,而Btn1则指向了这个空间.我的理解大概就是这样把
var
Btn:TButton;
begin
Showmessage(IntToHex(Integer(Pointer(Btn)),8));//看看地址是什么
end;单纯Btn.Caption:='Test';试试?这时候类指针Btn到底指向哪?呵呵
记录型对象是不要创建可以直接使用的,
所有从TObject继承下来的对象都要先创建才能使用。