永发信息网

Delphi7窗体间互相调用

答案:1  悬赏:20  手机版
解决时间 2021-02-26 19:52
请问,我做了两个窗体,一个为验证密码,另一个为主软件界面。我想在第一个窗体结束弹出第二个窗体如何实现?
第一个窗体代码为:
这个是form1的代码:
procedure TForm1.checkEdtInput(sender: TObject);
var
ID:String;
pasWord:String;
begin
ID:='administrator';
pasWord:='111111';
if edtID.Text<>ID then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else if edtPasWord.Text<>pasWord then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else
showMessage('hello');
end;
这里倒数第二行showMessage要改成调用第二个窗体UnitChild,我不知道怎么改,请提供详细的函数或者代码,谢谢。或者有什么方法可以调用第二个窗体,在线等。
最佳答案
form1
uses添加UnitChild
form2.show
不过你的设计有点问题。主窗体应该是程序的mainfrm,loginfrm在程序启动的时候由一个全局变量来判断是否登陆。以下是我找的代码,你可以参考以下

delphi登陆窗体的制作,可以有两种方法,一种是在工程文件中实现登陆窗体的动态调用,另一种就是在主窗体的OnCreate事件中动态创建登陆窗体,两种方法都需要将主窗体设置为Auto-create form,将登陆窗体设置为 Availabel form.

登陆窗体: Form2; 主窗体: Form1;

一、Form2
在Form中Public部分添加一个变量,可以是integer类型,或者boolean型,用来判断是什么时候可以让主窗体显示,比如:
public
frm_show : integer;

单击登录按钮(Button1)
procedure TForm2.Button1Click(Sender: TObject);
begin
if Edit1.Text='aa' then
begin
Frm_show:=1;
Label2.Caption:='用户正确!!'+inttostr(Frm_show);
close;
end
else
begin
Frm_show:=0;
Label2.Caption:='用户不正确!!'+inttostr(Frm_show);
end
end;

二、
Application.Initialize;
Form2:=TForm2.Create(nil);
Form2.ShowModal;
Form2.Free;
if Frm_show=1 then
Application.CreateForm(TForm1, Form1);
Application.Run;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邓紫棋粉丝测试题,就是测测你是不是她真正的
12年逍客更换电瓶多少钱?
梨树县石岭镇姜家洼村村民委员会地址在什么地
土的强度性质通常是指土体的()。
天姿芳秀安分店地址在哪,我要去那里办事
求对联一副(房地产代销公司)
冰淇淋的英文怎么写
孖钉一词中的孖字是什么意思
外地户口在深圳买车要上深圳牌,因没买社保办
纯净水设备多少钱
王者荣耀被冻结怎么办
新英达学校这个地址在什么地方,我要处理点事
有时好心帮别人出主意,却把别人害了,唉!!
【极坐标法】采用极坐标法应具备()测设元素。
2009年配的电脑现在2014年了,还能装个好点的
推荐资讯
三极管h2or12o2什么管子
梦思雅家具这个地址在什么地方,我要处理点事
飞越羊绒编织在什么地方啊,我要过去处理事情
八达岭长城好汉坡后还能上吗
微信聊天怎么发视频
西南交通大学希望学院文凭被教育部承认吗
有没有什么流量包玩qq免流 别说腾讯大王卡 我
中国小学生考进新加坡初中容易吗
郑州到河田火车时刻表
海阳市东村街道院西村人口文化大院地址在哪,
爱尚怡家在什么地方啊,我要过去处理事情
伸缩伞柄坏了怎么修
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?