这个异常是怎么出来的?
我做一个系统,需要登陆界面,我在界面上放了ADOConnection控件以后当窗体关闭就会报错,请跟我做一下实验:
新建一个项目,在窗体上放一个ADOConnection控件,一切按默认属性,然后将工程文件内
Application.CreateForm(TForm1, Form1);
用这两句话代替:
form1:=tform1.Create(form1);
form1.ShowModal;
运行后你会发现,一退出程序就会引发异常。
这是怎么回事呢?
问题点数:20、回复次数:7Top
1 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-18 10:29:29 得分 20
和Adoconnection没有关系,你乱改代码改出来的
Application.CreateForm(TForm1, Form1);
必须要有,不然的话你的application怎么知道哪个是主窗口???Top
2 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-18 10:30:38 得分 0
老大,你要是想做一个登陆窗口,可以这么写啊
-------------------------------------
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.Top
3 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-18 10:36:51 得分 0
错了
---------
在mainform的onShow里面写
form1:=tform1.Create(form1);
form1.ShowModal;
就可以了
-----------
不过真的挺奇怪的,为什么按钮什么的就没有内存读取的错误
换成adoconnection就有问题了〉〉〉〉?Top
4 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-04-18 10:45:40 得分 0
我的系统有主窗体,要登陆通过了才显示,所以不能用Application.CreateForm(TForm1, Form1);来显示登陆窗体Top
5 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-18 11:06:23 得分 0
登陆通过在显示,那就把登陆窗口写到主窗口的onshow或者onCreate里面阿
然后
frmLogin:=TFormLogin.Create(self);//创建登陆窗口
if frmLogin.ShowModal <> mrOK then//用户登录在这里实现,如果登陆成功返回mrOK
begin
application.Terminate; // 用户登录没有通过,就直接退出程序
end;
在frmLogin里面可以有数据库的操作,如果用户名密码正确则
self.ModalResult:=mrOK
这样应该就可以了Top
6 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-04-18 14:01:19 得分 0
我以前用BDE连的时候不会出现这种情况,ado就不成了
正如我的标题写的那样:我想知道这个异常是怎么出来的Top
7 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-04-21 13:29:41 得分 0
不行还得upTop




