登陆的关闭按扭BitCancleClick没有报错:相关代码如下
procedure TLogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('请确认是否退出本系统','提示信息',mb_iconquestion+ mb_YesNo)=idyes then
application.Terminate
else
CanClose:=false;
end;procedure TLogin.BitCancleClick(Sender: TObject);
begin
self.Close;
end;关闭主程序出错了:代码如下
procedure TmainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('请确认是否退出本系统','提示信息',MB_ICONQUESTION+MB_YESNO) = IDYES then
begin
Application.Terminate;
end
else
CanClose:=False;
end;
procedure TmainForm.ToolButton12Click(Sender: TObject);
begin
self.Close;
end;出错提示:
access violation at address 00403dc6 in module "xxx.exe" read of address ffffff00
procedure TLogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('请确认是否退出本系统','提示信息',mb_iconquestion+ mb_YesNo)=idyes then
application.Terminate
else
CanClose:=false;
end;procedure TLogin.BitCancleClick(Sender: TObject);
begin
self.Close;
end;关闭主程序出错了:代码如下
procedure TmainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('请确认是否退出本系统','提示信息',MB_ICONQUESTION+MB_YESNO) = IDYES then
begin
Application.Terminate;
end
else
CanClose:=False;
end;
procedure TmainForm.ToolButton12Click(Sender: TObject);
begin
self.Close;
end;出错提示:
access violation at address 00403dc6 in module "xxx.exe" read of address ffffff00
当然会出错的啊
//工程文件
program Project1;uses
Forms,
Controls,
Unit1 in 'Unit1.pas' {mainForm},
Unit2 in 'Unit2.pas' {LoginForm};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TmainForm, mainForm);
Application.ShowMainForm := False;
LoginForm := TLoginForm.Create(Application);
if LoginForm.ShowModal <> mrOK then
mainForm.Close
else
mainForm.Show;
Application.Run;
end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TLoginForm = class(TForm)
BitOK: TBitBtn;
BitCancel: TBitBtn;
procedure BitCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
LoginForm: TLoginForm;implementation{$R *.dfm}procedure TLoginForm.BitCancelClick(Sender: TObject);
begin
if Application.MessageBox('请确认是否退出本系统','提示信息',mb_iconquestion+ mb_YesNo)=idyes then
ModalResult := mrCancel
else
ModalResult := mrNone;
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TmainForm = class(TForm)
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;var
mainForm: TmainForm;implementation{$R *.dfm}procedure TmainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Visible then
CanClose := Application.MessageBox('请确认是否退出本系统','提示信息',MB_ICONQUESTION+MB_YESNO) = IDYES
else
CanClose := True;
end;end.
//登录窗体
procedure TLoginForm.BitOKClick(Sender: TObject);
if trim(LoginADOTable.fieldbyname('password').asstring)=pwdEdit.Text then
begin
LoginForm.ModalResult:=mrOK;
end
else
begin
Application.MessageBox(PChar('口令有误,请重新输入'),'登录提示');
pwdEdit.Clear;
pwdEdit.SetFocus;
end;
出错:当出现'口令有误,请重新输入'提示时,程序正常进入主窗体,也就是说密码错的也可以进入主窗体;