program testmdiok;//项目文件uses
  Forms,
  testmdi in 'testmdi.pas' {father},
  testmdibb in 'testmdibb.pas' {zb1},
  mediap in 'mediap.pas' {media},
  login in 'login.pas' {Form1},
  mbglp in 'mbglp.pas' {mbgl};{$R *.res}  var
    zb1:Tzb1;begin
    Application.Initialize;
     //调用显示登陆窗口
    zb1:=tzb1.create(application);
    zb1.showmodal;
     //退出程序
  if  zb1.ShowModal  <> mrok  then
      begin
      zb1.Free ;  //释放资源
      zb1:=nil;
      Application.Terminate ;//退出程序
      Exit ;
      end;
      Application.CreateForm(tfather,father);    Application.Run;
end.//zb窗体文件
procedure Tzb1.btloginClick(Sender: TObject);
 Self.ModalResult :=mrOk ;

解决方案 »

  1.   

    procedure Tzb1.btloginClick(Sender: TObject);
    begin
      ModalResult :=mrOk ;
    end;
      

  2.   

    不知道什麼意思,只看到zb1 Showmodal   2次
      

  3.   

    二楼的!我的MODAL窗体只是简化了代码,没有全部列出来而已,我实际代码中是有BEGIN和end;的。
    现列一个简单的程序如下:
    //项目文件
    program Project2;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}
    var
       form2:tform2;
    begin
      Application.Initialize;
      form2:=Tform2.Create (application);
      form2.showmodal;
      if form2.modalresult <> mrok then
         form2.free;
         form2:=nil;  Application.CreateForm(TForm1, Form1);
    Application.Run;
    end.
    //modal 窗体
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm2 = class(TForm)
        btn1: TButton;
        btn2: TButton;
        procedure btn1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }  end;
    implementation{$R *.dfm}procedure TForm2.btn1Click(Sender: TObject);
    begin
     Self.ModalResult :=mrOk;
    end;程序在运行时提示我:项目文件中的mrok没被定义。
      

  4.   

    在工程文件中引用 Controls