解决方案 »

  1.   

    里面都没代码的。我就建了一个模版,Form1 为模版。Form2为主窗体。From3为子窗体。
    允许时关闭From2就出现这个错误了。
      

  2.   

    form1unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, WinSkinData;type
      TMaster = class(TForm)
        SkinData1: TSkinData;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Master: TMaster;implementation{$R *.dfm}end.From2unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Unit1, WinSkinData,Unit3, StdCtrls;type
      TForm2 = class(TMaster)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
    begin
     // inherited;
      form3.Show;end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      inherited;
       Application.Terminate;
    end;end.Form3unit Unit3;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Unit1, WinSkinData;type
      TForm3 = class(TMaster)
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form3: TForm3;implementation{$R *.dfm}end.
      

  3.   

      form3.Show;
    form3还没创建吧
      

  4.   

    form3:=Tform3.Create(nil);
    form3.show();
      

  5.   

    form1unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}end.
    form2unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, WinSkinData;type
      TForm2 = class(TForm)
        SkinData1: TSkinData;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}end.
    form3unit Unit3;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Unit2, WinSkinData;type
      TForm3 = class(TForm2)
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form3: TForm3;implementation{$R *.dfm}end.
    Projectprogram Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2},
      Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Application.CreateForm(TForm3, Form3);
      Application.Run;
    end.