运行程序一切正常,但是当点菜单中“退出系统”后,就出现错误:
Project Project1.exe raised exception class EAceessViolation with message
'Access violation at address 0040351E in module 'Project1.exe'.Read of address FFFFFFD0 ' Process stopped
Use Step or Run to continue.一些代码如下:
Project1program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {SplashForm},
Unit2 in 'Unit2.pas' {loginForm},
Unit3 in 'Unit3.pas' {mainForm},
Unit4 in 'Unit4.pas' {DataMD: TDataModule},
Query in 'Query.pas' {QueryForm},
addUser in 'addUser.pas' {AddUserForm},
Mpassword in 'Mpassword.pas' {MPWDForm},
addPO in 'addPO.pas' {addPOform},
about in 'about.pas' {aboutform};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TSplashForm, SplashForm);
Application.CreateForm(TloginForm, loginForm);
Application.CreateForm(TmainForm, mainForm);
Application.CreateForm(TDataMD, DataMD);
Application.CreateForm(TQueryForm, QueryForm);
Application.CreateForm(TAddUserForm, AddUserForm);
Application.CreateForm(TMPWDForm, MPWDForm);
Application.CreateForm(TaddPOform, addPOform);
Application.CreateForm(Taboutform, aboutform);
Application.Run;
end.主界面:就是点主界面中“退出系统”出现错误:unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ToolWin, ComCtrls, Menus;type
TmainForm = class(TForm)
MainMenu1: TMainMenu;
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
mainForm: TmainForm;implementationuses Query, addUser, addPO,Mpassword,about, Unit4;{$R *.dfm} //按生产任务单号查询
procedure TmainForm.N14Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:= 0;
QueryForm.ShowModal;
QueryForm.Free;
end; //按生产部门查询
procedure TmainForm.N15Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=1;
QueryForm.ShowModal;
QueryForm.Free;
end; //按应入库日期查询
procedure TmainForm.N16Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=2;
QueryForm.ShowModal;
QueryForm.Free;
end; //混合查询
procedure TmainForm.N17Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=3;
QueryForm.ShowModal;
QueryForm.Free;
end;procedure TmainForm.N9Click(Sender: TObject);
begin
Application.Terminate;
end; //新增用户
procedure TmainForm.N7Click(Sender: TObject);
begin
Application.CreateForm(TAddUserForm,AddUserForm);
AddUserForm.ShowModal;
AddUserForm.Free;
end;//修改密码
procedure TmainForm.N8Click(Sender: TObject);
begin
application.CreateForm(TMPWDForm,MPWDForm);
Mpwdform.ShowModal;
Mpwdform.free;
end;//新增生产任务单
procedure TmainForm.N2Click(Sender: TObject);
begin
application.CreateForm(Taddpoform,addpoform);
addpoform.ShowModal;
addpoform.Free;
end;
//关于系统
procedure TmainForm.N6Click(Sender: TObject);begin
application.CreateForm(Taboutform,aboutform);
aboutform.ShowModal;
aboutform.Free;end;end.这个错误经常有人遇到,但是各人的情况不一样,我是初学者,想请大家看看这个是什么原因?
Project Project1.exe raised exception class EAceessViolation with message
'Access violation at address 0040351E in module 'Project1.exe'.Read of address FFFFFFD0 ' Process stopped
Use Step or Run to continue.一些代码如下:
Project1program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {SplashForm},
Unit2 in 'Unit2.pas' {loginForm},
Unit3 in 'Unit3.pas' {mainForm},
Unit4 in 'Unit4.pas' {DataMD: TDataModule},
Query in 'Query.pas' {QueryForm},
addUser in 'addUser.pas' {AddUserForm},
Mpassword in 'Mpassword.pas' {MPWDForm},
addPO in 'addPO.pas' {addPOform},
about in 'about.pas' {aboutform};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TSplashForm, SplashForm);
Application.CreateForm(TloginForm, loginForm);
Application.CreateForm(TmainForm, mainForm);
Application.CreateForm(TDataMD, DataMD);
Application.CreateForm(TQueryForm, QueryForm);
Application.CreateForm(TAddUserForm, AddUserForm);
Application.CreateForm(TMPWDForm, MPWDForm);
Application.CreateForm(TaddPOform, addPOform);
Application.CreateForm(Taboutform, aboutform);
Application.Run;
end.主界面:就是点主界面中“退出系统”出现错误:unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ToolWin, ComCtrls, Menus;type
TmainForm = class(TForm)
MainMenu1: TMainMenu;
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
mainForm: TmainForm;implementationuses Query, addUser, addPO,Mpassword,about, Unit4;{$R *.dfm} //按生产任务单号查询
procedure TmainForm.N14Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:= 0;
QueryForm.ShowModal;
QueryForm.Free;
end; //按生产部门查询
procedure TmainForm.N15Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=1;
QueryForm.ShowModal;
QueryForm.Free;
end; //按应入库日期查询
procedure TmainForm.N16Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=2;
QueryForm.ShowModal;
QueryForm.Free;
end; //混合查询
procedure TmainForm.N17Click(Sender: TObject);
begin
Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=3;
QueryForm.ShowModal;
QueryForm.Free;
end;procedure TmainForm.N9Click(Sender: TObject);
begin
Application.Terminate;
end; //新增用户
procedure TmainForm.N7Click(Sender: TObject);
begin
Application.CreateForm(TAddUserForm,AddUserForm);
AddUserForm.ShowModal;
AddUserForm.Free;
end;//修改密码
procedure TmainForm.N8Click(Sender: TObject);
begin
application.CreateForm(TMPWDForm,MPWDForm);
Mpwdform.ShowModal;
Mpwdform.free;
end;//新增生产任务单
procedure TmainForm.N2Click(Sender: TObject);
begin
application.CreateForm(Taddpoform,addpoform);
addpoform.ShowModal;
addpoform.Free;
end;
//关于系统
procedure TmainForm.N6Click(Sender: TObject);begin
application.CreateForm(Taboutform,aboutform);
aboutform.ShowModal;
aboutform.Free;end;end.这个错误经常有人遇到,但是各人的情况不一样,我是初学者,想请大家看看这个是什么原因?
解决方案 »
- 奇怪的网址,用IDHTTP和AUHTTP都无法访问?
- 看看这样写有什么不对吗?总是报错?让窗体上的tmenuitem.enabled变成false
- 我们知道windowfrompoint可以用来获得当前鼠标指向的控件的句柄,那么我如何……
- 请问SysUtils单元中的“GetSafeCallExceptionMsg”函数该怎样使用?
- 计算字段出错,请问如何解决?
- 两个应用程序间数据传递,有哪些方法
- nmhttp接收文件时,是否支持断点续传?
- delphi入门
- 请教:如何在statusbar的panel中显示一个图标呢?
- 收入统计
- delphi 7 + access2003 查询数据库,以日期区间为条件,但没能达到预期效果,求原因
- 如何根据不同的IP而得到范围
procedure TmainForm.N9Click(Sender: TObject);
begin
Application.Terminate;
end;这个是关闭事件吗?为什么用terminate,直接close;
[1]那个就关闭程序事件,我把它改成mainform.close;了
[2]我把除Project1外的所有createform全注释掉了,可是问题依然存在,代码:
mainform:unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ToolWin, ComCtrls, Menus;type
TmainForm = class(TForm)
MainMenu1: TMainMenu;
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
mainForm: TmainForm;implementationuses Query, addUser, addPO,Mpassword,about, Unit4;{$R *.dfm} //按生产任务单号查询
procedure TmainForm.N14Click(Sender: TObject);
begin
// Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:= 0;
QueryForm.ShowModal;
QueryForm.Free;
end; //按生产部门查询
procedure TmainForm.N15Click(Sender: TObject);
begin
//Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=1;
QueryForm.ShowModal;
QueryForm.Free;
end; //按应入库日期查询
procedure TmainForm.N16Click(Sender: TObject);
begin
//Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=2;
QueryForm.ShowModal;
QueryForm.Free;
end; //混合查询
procedure TmainForm.N17Click(Sender: TObject);
begin
// Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=3;
QueryForm.ShowModal;
QueryForm.Free;
end;procedure TmainForm.N9Click(Sender: TObject);
begin
mainform.Close;
end; //新增用户
procedure TmainForm.N7Click(Sender: TObject);
begin
// Application.CreateForm(TAddUserForm,AddUserForm);
AddUserForm.ShowModal;
AddUserForm.Free;
end;//修改密码
procedure TmainForm.N8Click(Sender: TObject);
begin
// application.CreateForm(TMPWDForm,MPWDForm);
Mpwdform.ShowModal;
Mpwdform.free;
end;//新增生产任务单
procedure TmainForm.N2Click(Sender: TObject);
begin
//application.CreateForm(Taddpoform,addpoform);
addpoform.ShowModal;
addpoform.Free;
end;
//关于系统
procedure TmainForm.N6Click(Sender: TObject);begin
// application.CreateForm(Taboutform,aboutform);
aboutform.ShowModal;
aboutform.Free;end;procedure TmainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mainform.Close;
mainform.free;
end;end.
Application.CreateForm(TQueryForm, QueryForm); Application.CreateForm(TQueryForm,QueryForm); //这里又创建
QueryForm.Query.ActivePageIndex:=2;
QueryForm.ShowModal;
QueryForm.Free; //这里又释放
//混合查询
procedure TmainForm.N17Click(Sender: TObject);
begin
// Application.CreateForm(TQueryForm,QueryForm);
QueryForm.Query.ActivePageIndex:=3;
QueryForm.ShowModal;
// QueryForm.Free; //这样注释掉就行了。
end;
procedure TmainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//mainform.Close;
mainform.free;
end;
你前面的菜单点击事件mainform.close已经调用过了