是这样的,我开发一个MDI的数据库应用程序,最近我做了一个登录界面,是放在MainForm的onCreate事件中建立的!后来又加了一个数据模块,在工程选项中设置为先于主窗体创建,因为登录窗口也要用到这个数据模块,可是这样老是出现EAbstractError异常,当我将数据模块设置为后于主窗体创建时就好了,可是这样我的登录窗口就不能用这个数据模块了,我该怎么办啊,希望高手来教教我啊!
调试欢乐多
你试一下这样:
登录窗口不要在主窗口的OnCreate里面创建,而是在ProjectOptions里面将它放在DataModule后面创建,在Project -> View Source(查看工程文件),修改代码,控制在登录成功之后才创建MainForm,否则程序直接Terminate
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TDataModule, DataModule);
加登录代码;
Application.Run;
BLoginFrm:=TBLoginFrm.Create(Application);
BLoginFrm.ShowModal;
if FrmLoginB通过检证 then
BEGIN
Application.CreateForm(TBMainFrm, BMainFrm);
END
ELSE
BLoginFrm.Free;
Dmuser.Free;
Application.Initialize;
Application.Title := '';
Application.CreateForm(Tdm, dm);
frm_login:=Tfrm_login.Create(application);
frm_login.ShowModal;
Application.Run;