我的程序中包含多个窗口,程序一启动时装载了所有的窗体,调用了其它窗体的FormCreate,原来在VB中程序启动时只装载主窗体,其它窗体激活显示时才装载,请教各位大虾!

解决方案 »

  1.   

    菜单project->option中的auto create forms里面只留下主窗体就行了。
    其他的用
    if assigned(form2) then freeandnil(form2);
    application.createform(Tform2,form2);
    Form2.showmodal;
    这样来使用就好了。
      

  2.   

    你可以动态的创建窗体而不用(或覆盖)delphi中(appication单元)的创建的代码。
    begin
      form2 := tform2.create(..);
      ...
    end
      

  3.   

    project里去掉不需要在程序启动时就创建的窗体。
    在需要是动态创建  form2:=tform2.create(application);
      

  4.   

    你就用动态调用就行了!
    Project/Option/Forms(SHIRFT+CTRL+F11)中将除了主窗体以外的
    窗体都给弄到Available forms框中
    在调用的时候就用以下语句:
    比如调用Form2
    form2:=Tform2.create(application);(不要忘记了是TForm.create)
    要想模态显示还要加一句:
    form2.showmodal;
    可不要忘了在主窗体单元中引用被调用窗体的单元
    不用谢给点分就行了!
      

  5.   

    释放的时候还有问题呢:
    你要在被调用的窗体里的ONCLOSE方法中加上:
    ACTION:=Cafree;