两个窗体Form1和Form2
在工程中设置只有Form1自动创建
我在Form1显示时创建Form2(以用用来实现欢迎画面或密码验证等)
代码如下
procedure TForm1.FormShow(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
end;这是工程文件
program Project1;uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
只要我把
Application.CreateForm(TForm2, Form2);改为
Application.CreateForm(Form2, Form2);
出错后,点是,程序就对了,

解决方案 »

  1.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      try
        Form2 := TForm2.Create(nil);
        if Form2.ShowModal = 1 then
          Application.Run;
      finally
        FreeAndNil(Form2);
      end;
    end.
      

  2.   

    好像根本不会出现你说的哪种问题
    procedure TForm1.FormShow(Sender: TObject);
    begin
      try
        if Form2 = nil then
        Form2 := TForm2.Create(nil);
        Form2.ShowModal;
      finally
        Form2.Free;
      end;
    end;