请问这三个创建窗口的句子有什么区别?
application.CreateForm(TLoginform,Loginform);
Loginform:= TLoginform.Create(nil);
Loginform:=TLoginform.Create(application);
希望大侠能讲详细点儿,谢谢!
application.CreateForm(TLoginform,Loginform);
Loginform:= TLoginform.Create(nil);
Loginform:=TLoginform.Create(application);
希望大侠能讲详细点儿,谢谢!
2: Loginform需要自己释放
3: 应用程序关闭时,Application会负责释放Loginform.
Loginform:=TLoginform.Create(application);
Loginform:= TLoginform.Create(self); 拥有者不同Create(nil)需要自己释放
Create(nil); //nil动态建立窗体的时候需要自己释放调用form.Free方法
Create(self); //当前form(self) Destory的时候,会将动态建立窗体free
Create(application); //这个是在程序结束的时候,或者调用Application.Terminate的时候会将动态建立的窗体释放
application.CreateForm(TLoginform,Loginform);//application这个是Delphi VCL程序就有的,用来管理整个程序的,用法个人觉得和Create(application)有点类似。
//一般在工程单元出现,project->options->Forms,这里设置的是否自动创建
//如果没有设置是否自动创建,默认是自动创建的,你可以把左边的移动到右边,
//那么就需要你手动创建了//下面的就是手动的创建
Loginform:= TLoginform.Create(nil);
//参数为nil的时候,那么他是无属主的,需要你手动释放
Loginform:=TLoginform.Create(application);
//这个的属主是application 也就是应用程序,那么应用程序在结束时会自动释放其实每一个控件都有他的属主,当属主销毁时会递归遍历属于自己的控件,销毁他们,最后销毁自己。
第二个就是建立一个登录窗
第三个就是所者有个管理。