我做一个系统,需要登陆界面,我在界面上放了ADOConnection控件以后当窗体关闭就会报错,请跟我做一下实验:
新建一个项目,在窗体上放一个ADOConnection控件,一切按默认属性,然后将工程文件内
Application.CreateForm(TForm1, Form1);
用这两句话代替:
form1:=tform1.Create(form1);
form1.ShowModal;运行后你会发现,一退出程序就会引发异常。
这是怎么回事呢?
新建一个项目,在窗体上放一个ADOConnection控件,一切按默认属性,然后将工程文件内
Application.CreateForm(TForm1, Form1);
用这两句话代替:
form1:=tform1.Create(form1);
form1.ShowModal;运行后你会发现,一退出程序就会引发异常。
这是怎么回事呢?
Application.CreateForm(TForm1, Form1);
必须要有,不然的话你的application怎么知道哪个是主窗口???
-------------------------------------
var StartForm:TForm1;
begin
StartForm:=TForm1.Create(nil);
StartForm.Show;
StartForm.Update;
Application.Initialize;
Application.Title := '接入网设备监控程序';
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmAddAP, frmAddAP);
Application.CreateForm(TFrmCommSet, FrmCommSet);
StartForm.Close;
Application.Run;
end.
---------
在mainform的onShow里面写
form1:=tform1.Create(form1);
form1.ShowModal;
就可以了
-----------
不过真的挺奇怪的,为什么按钮什么的就没有内存读取的错误
换成adoconnection就有问题了〉〉〉〉?
然后
frmLogin:=TFormLogin.Create(self);//创建登陆窗口
if frmLogin.ShowModal <> mrOK then//用户登录在这里实现,如果登陆成功返回mrOK
begin
application.Terminate; // 用户登录没有通过,就直接退出程序
end;在frmLogin里面可以有数据库的操作,如果用户名密码正确则
self.ModalResult:=mrOK
这样应该就可以了