var
hMutex: HWND;
Ret:Integer;
begin
Application.Initialize;
Application.Title := '管理系统';
hMutex := CreateMutex(nil, False, 'HZWX');
Ret:=GetLastError;
if Ret<>ERROR_ALREADY_EXISTS then
begin
//显示启动窗口
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Update; //创建数据模块
Application.CreateForm(TDataModule1, DataModule1); //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal; //创建主窗体
Application.CreateForm(TfrmMain, frmMain); //释放启动窗口
frmSplash.Hide;
frmSplash.Free; Application.Run;
end
else
Application.MessageBox('本程序已经在运行!','错误',MB_ICONERROR);
ReleaseMutex(hMutex);主程序的代码这样,目的是显示启动界面后进入登录界面,登录后才进入主界面。在运行后,一切正常,但在退出系统的时候,会出现读内存的错误提示。当我把 //创建数据模块
Application.CreateForm(TDataModule1, DataModule1); //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal;
的顺序换一下,成这样: //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal; //创建数据模块
Application.CreateForm(TDataModule1, DataModule1);
退出系统的时候却又不会出错了。但问题是登录窗口要读表里的数据,因此必须数据模块要先创建。把创建数据模块放到前面,退出系统的时候又出错,请大侠们指点。
hMutex: HWND;
Ret:Integer;
begin
Application.Initialize;
Application.Title := '管理系统';
hMutex := CreateMutex(nil, False, 'HZWX');
Ret:=GetLastError;
if Ret<>ERROR_ALREADY_EXISTS then
begin
//显示启动窗口
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Update; //创建数据模块
Application.CreateForm(TDataModule1, DataModule1); //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal; //创建主窗体
Application.CreateForm(TfrmMain, frmMain); //释放启动窗口
frmSplash.Hide;
frmSplash.Free; Application.Run;
end
else
Application.MessageBox('本程序已经在运行!','错误',MB_ICONERROR);
ReleaseMutex(hMutex);主程序的代码这样,目的是显示启动界面后进入登录界面,登录后才进入主界面。在运行后,一切正常,但在退出系统的时候,会出现读内存的错误提示。当我把 //创建数据模块
Application.CreateForm(TDataModule1, DataModule1); //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal;
的顺序换一下,成这样: //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal; //创建数据模块
Application.CreateForm(TDataModule1, DataModule1);
退出系统的时候却又不会出错了。但问题是登录窗口要读表里的数据,因此必须数据模块要先创建。把创建数据模块放到前面,退出系统的时候又出错,请大侠们指点。
解决方案 »
- 求一个查询语句
- 这个问题好难啊。
- 一个简单的问题,在线等候,想知道的进来看!
- 求一DBGRID控件,它能像EXECL一样具有冻结列的功能!
- 关于昨天的 FTP文件传送问题
- Asp如何调用Delphi写的dll?望各位大侠赐教
- 挑战delphi顶尖高手!!!
- 为什么每次在WEB中创建某个ACTIVEX后,在DELPHI中无法重新编译,必须重起系统
- BitBtn的Glyph所用的位图是好几个图像合并起来的,使用起来很麻烦,而且不知道怎样设计,因为普通的ICON、BMP等在Enabled为True时能显示,但在False时就不能了,不像微软的产品这样,只要一个就搞定了,能告诉我如何处理,谢谢?
- 急急急!!还是那个菜鸟问题
- 怎么用特定名称的打印机打印
- 怎样的到adsl上网时的ip地址。意思是动态的哪个ip地址,谢谢各位了
frmSplash := TfrmSplash.Create(Application);
改为:
frmSplash := TfrmSplash.Create(nil);
frmSplash.Show;
frmSplash.Update; //创建数据模块
Application.CreateForm(TDataModule1, DataModule1);
//创建主窗体
Application.CreateForm(TfrmMain, frmMain);
frmSplash.Free;
//创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal;
frm_Login.FREE;
//释放启动窗口
Application.Run;
//显示启动窗口
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Update;
//创建主窗体
Application.CreateForm(TfrmMain, frmMain);
frmMain.hide; //主窗体隐藏
//创建数据模块
Application.CreateForm(TDataModule1, DataModule1); //创建登录窗口
frm_Login := Tfrm_Login.Create(Application);
frm_Login.ShowModal;
frm_Login.free;
//释放启动窗口
frmSplash.Hide;
frmSplash.Free;
frmMain.Show; //显示主窗体 Application.Run;
end