我知道可以通过 Application.CreateForm(TForm1, Form1); 来创建Form, 也可以载程序运行过程中动态创建 Form1 := TForm1.Create(self). 这两种方式创建的Form有区别吗? 顺便想问问,Application应该是TApplication的对象吧,在那里定义的呢? 程序中看不到.谢谢那位大哥给我讲讲.

解决方案 »

  1.   

    两种方式建立的唯一区别是:
    第一种方式建立的窗体,由Application负责释放。
    第二种方式建立的窗体,必须自己负责释放,在Create时指定参数的话,则由指定的Owner负责释放。没错,Application是TApplication类的实例,也就是对象。它定义在Forms.pas里第1198行(Delphi6),你按住Ctrl键点击代码里的Application字样,就可以跳转到它定义的位置了。只要引用了Forms单元,你就可以在程序里使用这个已经定义好的Application对象。
      

  2.   

    agree with DDGG(叮叮当当)
      

  3.   

    agree with DDGG(叮叮当当)
      

  4.   

    补充一点:第一个调用Application.CreateForm(TForm1, Form1); 创建的窗体会成为主窗体。