由于开始没考虑那么多,现在做登陆窗口出问题了,DPR文件序列如下:  Application.Initialize;
  Application.Title := '欢迎';
  Application.CreateForm(TRedAgeForm, RedAgeForm); //主窗口
  Application.CreateForm(TDataForm, DataForm);//数据库模块
  Application.CreateForm(TClassForm, ClassForm);//分类窗体
  Application.CreateForm(TlogonFrom, logonFrom);//登陆窗体
  ...................
我想每次启动主窗口后就自动弹出登陆窗口,但是提示
  Application.CreateForm(TClassForm, ClassForm);//分类窗体
这行错误,好像是模块序列错误我主程序中也有重新登陆,每次我点重新登陆后可以换用户名进行登陆,并且登录分为两个等级的用户进行登陆。希望能提供比较详细点的资料和例子。谢。

解决方案 »

  1.   

    这样就行,至于如何设置权限,你自己搞定吧。在LogonForm中加个全局类就行了。
    begin
      Application.Initialize;  FrmLogon:=TFrmLogon.Create(nil);
      if FrmLogon.ShowModal=mrOK then
        isLogon:=True
      else
        Exit;
      Application.CreateForm(TFrmMain, FrmMain);
      Application.Run;
    end.
      

  2.   

    但是这样的话每次换用户名重登录都要退出程序登陆窗体的确定按钮里判断密码是否正确
    if edit_psw.text = password then 
      modalresult:=mrok
    else
      begin
        showmessage('error');
        abort;
      end;
    程序里也可设置菜单重新登陆
      

  3.   

    with TF_main.Create(application) do
      begin
        show;
        update;
        application.CreateForm(TF_mlogin,F_mlogin);
        free;
      end;TF_mlogin为登陆窗口,TF_main为主窗口.
    写在Program文件中.
    在 Application.Run;前一行.copy上去就可以了.更改一下,有关窗体.
      

  4.   

    那几种权限就没办法了?还有一个问题就是,我在logon窗口里面把              ClassForm.Enabled := false;
    AddComForm.Enabled := false;
    ZcComForm.Enabled := false;
    这些窗口都设成false了,但是menu 上面还是可以进,但是进去之后什么都点不动,连关闭都没法。只有关了主窗口才行,对了,还有个问题就是我想弹出窗口后,用户就不能操作主窗口,必须要关闭弹出的窗口后才能进主窗口又该怎么办呢?谢。
      

  5.   

    frmMain主窗体,frmLogin登录窗体,在frmMain里引用frmLogin的单元
      
      Application.Initialize;
      Application.CreateForm(TfrmMain, frmMain);
      Application.CreateForm(TfrmLogin, frmLogin);
      Application.Run;----------------------------------------
    在主窗体显示后就弹出登录窗体可在Activate事件中
    procedure TfrmMain.FormActivate(Sender: TObject);
    begin
      frmLogin.ShowModal;
    end;
    但是你得定义全局变量来判断在Activate事件中是否需要弹出登录窗体
    procedure TfrmMain.FormActivate(Sender: TObject);
    begin
      if Not frmLoginIsShow then
        frmLogin.ShowModal;
    end;frmLoginIsShow为自定义全局Boolean变量