我的程序中,有FormMain,FormLogin,FormExe(TDataBase控件放在FormMain上)(非MDI窗体);
在project的属性中,mainform为主窗体。程序启动是自己添加的代码:
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormLogin, FormLogin);
FormLogin.ShowModal;
Application.Run;
在登录窗体验证成功后:
procedure TFormLogin.ButtonLoginClick(Sender: TObject);
begin
formMain.ShowModal;
formlogin.Close;
end;
并且,FormLogin里用全局变量username记录了登录用户。
至此,一切正常。登录正常,主窗口也显示正常。
但是,打开FormExe时问题出现了错误提示:
------------------------------------------------------------------------- | Access Violation at address 00458332 in module'Project1.exe'.Read |
| of address 000002EC |
-------------------------------------------------------------------------
其中:
procedure TFormMain.Button1Click(Sender: TObject);
begin
formExe.Show;
formExe.manualDock(panel1,nil,alNone);
end;
在formExe里引用了unitLogin并且使用了变量username,引用了unitMain并连接了TDataBase.
请问,我哪里措了?怎么改呢?
在project的属性中,mainform为主窗体。程序启动是自己添加的代码:
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormLogin, FormLogin);
FormLogin.ShowModal;
Application.Run;
在登录窗体验证成功后:
procedure TFormLogin.ButtonLoginClick(Sender: TObject);
begin
formMain.ShowModal;
formlogin.Close;
end;
并且,FormLogin里用全局变量username记录了登录用户。
至此,一切正常。登录正常,主窗口也显示正常。
但是,打开FormExe时问题出现了错误提示:
------------------------------------------------------------------------- | Access Violation at address 00458332 in module'Project1.exe'.Read |
| of address 000002EC |
-------------------------------------------------------------------------
其中:
procedure TFormMain.Button1Click(Sender: TObject);
begin
formExe.Show;
formExe.manualDock(panel1,nil,alNone);
end;
在formExe里引用了unitLogin并且使用了变量username,引用了unitMain并连接了TDataBase.
请问,我哪里措了?怎么改呢?
解决方案 »
- 在TreeView节点的前面加了个复选框,怎样判断是否在checkbox前打勾了呢?
- DBChart横轴如何添加日期数据?
- 请问当WebBrowser执行页面中的js脚本window.close()时出错,这该如何处理??
- 请教这个功能的sql语句怎么写?
- 请问在什么地方可以找到 打印条码 的字体 这种字体名称是什么??谢谢
- 刚刚失恋,心情不好来散分
- 一个简单的问题,请教各位高手
- 用什么工具可以做自定义.avi视频?
- 各位:DELPHI 6 中使用 FILTERCOMBOBOX控件时,编译提示WARNING: FILECTRL UNIT IS SPESIFIC TO FLATFORM
- 改变DBGRID的颜色?
- ==这里有没有苏州的程序员?进来帮我一下.
- 远程访问Sql Server200 的问题 (在线等)
formExe.manualDock(panel1,nil,alNone);
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormLogin, FormLogin);
Application.CreateForm(TFormExe, FormExe);
FormLogin.ShowModal;
Application.Run;
procedure TFormMain.Button1Click(Sender: TObject);
begin
formExe:= TformExe.Create(application); // 加上这一句
formExe.show;
formExe.manualDock(panel1,nil,alNone);
end;
太混乱了,学要整理清楚,username既然是全局变量,
就拿出来放到一个单独的unit里,TDataBase也拿出来
放到一个专用的单元里.