请问一下,我们在DELPHI中点新建一个FORM,这是创建窗体吗?那种创建窗体和 Application.CreateForm(TDataModule1,DataModule1)有什么区别?既然在开发程序时,可以点新建来创建窗体,为什么还要写创建窗体呢?还有,有书上说,要在一个窗体中用别一窗体数据,必须要先在这体窗中创建那个要显示的窗体aplication.CreateForm(TDataModule1,DataModule1);但书上不是也说用uses 窗体名,也可以引用吗?那是用哪个呀

解决方案 »

  1.   

    们在DELPHI中点新建一个FORM,这是创建窗体吗?
    是,你点完之后,他自动会在项目文件里加入一条
    Application.CreateForm(..)的了,你可以通过Project->View Source看看!
      

  2.   

    既然在开发程序时,可以点新建来创建窗体,为什么还要写创建窗体呢?
    你在开发时所创建好的代码,就是程序在运行时就分它分配好内存,
    但是很多时候有些窗体你可能在需要他的时候才会用到它,这就浪费了内存,
    所以你可以在PROJECT的文件里把他自动生成的Applicaiton.Create(..);给
    删掉,等你有需要的时候再在代码里去动态的生成,这样就可以节省内存了!uses应用是没错,而且也是必要,但是问题你uses的单元如果还没传建,那就会出错.
    uses和创建是两回事!
      

  3.   


    >>我们在DELPHI中点新建一个FORM,这是创建窗体吗?在DELPHI的IDE开发环境中,File->New->Form 或者工具栏快捷按钮,创建一个Form; 这个窗口是用于设计的,在Form中放置你需要的控件.>>那种创建窗体和 Application.CreateForm(TDataModule1,DataModule1)有什么区别在delphi的应用程序中,窗口分为两种,即自动创建和手动创建,打开工程选项Project->Options的Form标签即有(Auto-create forms)--> 自动创建
    Avaiable Form--->手动创建
    自动创建的窗口,在exe加载到内存中就会创建,并分配好内存等系统资源;
    而手动创建的窗口,并不会一运行exe就创建,而是等到执行到创建窗口的代码中分配占用内存;比如在一个button的click事件中,写到aplication.CreateForm(TForm1,Form1);
    或者
    Form1 := TForm1.Create(nil);则要单击这个按钮执行事件才创建窗口,windows才会为该窗口分配内存.
    一般来说,为了使exe启动时更快,可以采用主窗口是自动创建而其的部分窗口手动创建;
    >>但书上不是也说用uses 窗体名,也可以引用吗?那是用哪个呀一个From要使用另一个Form,,是一定要Use 那个Form的,否则编译时,找声类定义呀