在登录成功以后,到别的窗体时,我需要调用登录窗体里面的数据,该怎么调用,大家帮个忙

解决方案 »

  1.   

    登录的方法写成这样function CreateWinLog(var AUserName:String):boolean;
    var
     form:Tfrm_Log; //登录窗体
    begin
     form:=Tfrm_Log.Create(Application);
     form.ShowModal;
     Result:=mrOK=form.ModalResult;
     if Result then
       AUser:=form.GetUserName; //返回用户名
     form.Free;
    end;在调用别的窗体时,直接传递用户名
      

  2.   

    建立一个单元文件专门放公用数据,然后被登陆窗口和其它窗口的源文件uses,就可以把登录窗口中可能被其他窗口访问的数据复制到那个文件的全局变量。
      

  3.   

    首先要uses form2的unit和公共unit。 然后要在公共unit里定义一个全局变量hthprocedure TForm1.ButtonClick(Sender: TObject);
    begin
    begin
       with TForm2.Create(Application) do
        begin
              try
                 ShowModal;
                 ed_dyht.Text:=hth;
             finally
             free;
             end;//try
       end;//with
    end;end;forme2的 代码procedure TForm2.FormCreate(Sender: TObject);
    begin//打开数据库让dbgrid不空,具体就不写了end; procedure TForm.DBGridDblClick(Sender: TObject);
    begin
    if  messagebox(handle,'确定是这个合同吗?',pchar(caption),MB_ICONQUESTION+mb_yesno)=IDYES then
        begin
          hth:=DBGrid.Fields[0].Value;//给全局变量赋值
          Close;
        end;
    end;最重要的是form2的formstyle应该是fsNormal。visible应该是false然后就没有问题了,当然这很粗糙,具体的可以自己琢磨,方法也是有很多的。
      

  4.   

    如果只是简单的页面窗体参数,不建议用 全局变量。//------------------------------------------------------
    窗体 frmMovie 代码
    public
      var
        intID: Integer;//------------------------------------------------------
    窗体 frmMovieEdit 代码intItemID := frmMovie.intID;//------------------------------------------------------
    别忘了 uses frmMovie;