我做了个按照数据库的用户名 密码来登陆的登陆窗口!
用的是DBCOMBOBOX 用来显示用户名
数据库已经连接好 但是下拉列表没有用 我在 LOGINFORM.FORMSHOW() 里面也加了 user.DropDown;
我是先做好了主工程后 新建的一个窗体单元,没有工程文件。
我在主窗体的工程文件的试行顺序改了
begin
  Application.Initialize;
  Application.CreateForm(Tadodm, adodm);
  Application.CreateForm(TLOGINFORM, LOGINFORM);
  Application.CreateForm(Tmainform, mainform);
  Application.Run;
end.(使登陆窗体能先显示)ADODM是个DATAMOUDLE里面是我需要的所有数据库组件。还问问大虾们 在各种菜单中有很多单击后都是打开一个新窗体来实行相应的操作 他们是不是都需要
建立工程文件,还是只要有窗体单元文件就可以了。
他们之间又是怎么样联系起来的(不是说加CREAT() 和 SHOWMODEL())。
要是都需要工程文件 那么工程
文件是怎么联系起来的,编译的时候又是怎么一起编译的,让他们能一起联系在一个应用程序中的。我是小鸟,请大虾不吝赐教。

解决方案 »

  1.   

    给你一个例子
    var
      SplashAbout: TAboutBox;
      LoginDlg: TLoginForm;
      i:integer;
    begin
      Application.Initialize;
      SplashAbout := TAboutBox.Create(Application);
      try
        SplashAbout.MakeFlash;
        //connect to database
        Application.Title := '订单管理系统';
        Application.CreateForm(TMainData, MainData);
      MainData.TryToConnect();
        SplashAbout.ClearFlash();
        //login
        if (MainData.MainConnect.Connected) then
        begin
          LoginDlg := TLoginForm.Create(Application);
          for i:=1 to 3 do
          begin
            if LoginDlg.ShowModal = 1 then
            begin
              case LoginDlg.nType of
              0:  MessageDlg('错误的用户名或密码,请重新输入!', mtWarning, [mbOK], 0);
              -1: MessageDlg('用户帐号已经过期!', mtWarning, [mbOK], 0);
              -2: MessageDlg('此员工已经离职!', mtWarning, [mbOK], 0);
              else
                break;
              end;
            end
            else
              break;
          end;
          //create main form and run
          if LoginDlg.nType = 1 then
          begin
            Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TQueryOrder, QueryOrder);
      Application.CreateForm(TFilterOrder, FilterOrder);
            Form1.strRight := LoginDlg.strRight;
            Form1.nDBUser := LoginDlg.nDBUser;
            Form1.strDBUser := LoginDlg.strDBUser;
            Form1.strName := LoginDlg.strName;
            Form1.strGroup := LoginDlg.strGroup;
            Form1.bTempUser := LoginDlg.bTempUser;
            Form1.nGroup := LoginDlg.nGroup;
            LoginDlg.Free;
            Application.Run;
          end;
        end
      finally
        SplashAbout.Free;
      end;{  Application.CreateForm(TMainData, MainData);
      MainData.TryToConnect();
            Application.CreateForm(TForm1, Form1);
            Form1.strRight := '111111111111111111111111';
            Form1.nDBUser := 1;
            Form1.strDBUser := 'hustwjz';
            Form1.strName := 'xxx';
            Form1.strGroup := 'Admin';
            Form1.bTempUser := False;
            Form1.nGroup := 14;
      Application.CreateForm(TQueryOrder, QueryOrder);
      Application.CreateForm(TFilterOrder, FilterOrder);
      Application.Run;}
    end.