永发信息网

Delphi7窗体间互相调用

答案:1  悬赏:20  手机版
解决时间 2021-02-26 19:52
  • 提问者网友:藍了天白赴美
  • 2021-02-26 10:46
请问,我做了两个窗体,一个为验证密码,另一个为主软件界面。我想在第一个窗体结束弹出第二个窗体如何实现?
第一个窗体代码为:
这个是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,我不知道怎么改,请提供详细的函数或者代码,谢谢。或者有什么方法可以调用第二个窗体,在线等。
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-02-26 11:47
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;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯