导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
rhlw (lw)
★☆☆☆☆
-
盒子活跃会员
2003/12/15 14:27:04
标题:
主窗口为主程序,带启动画面,登录画面,能否在主窗口中实现重新登录?请高手指点谢谢!
浏览:1470
加入我的收藏
楼主:
我在登录窗口用如下句子调用主窗口(当密码正确时): ModalResult := IdOk; 现想在主窗口中重新登录,不知能否实现?请帮帮忙,最好能提供源码谢谢.
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
作者:
2003/12/15 14:57:23
1楼:
重新showmodal 登陸窗口可以嗎
----------------------------------------------
-
作者:
2003/12/15 16:08:39
2楼:
你将LOGINFORM作为子窗体就行了; 将LOGINFORM变为自动创建的窗体; 关闭后可以通过按钮调用: form_main.loginbtn.click(); begin if not assigned(formlogin) then application.createform(tformlogin,formlogin); end; 子窗体的关闭; formlogin.onclose(); begin action:=cafree; formlogin:=nil; end; 在你的工程文件中应是这样的; begin //====初始化。。。。 application.createform(tform_main,form_main); application.createform(tdatamodule,datamodule1); application.createform(tformlogin,formlogin); application.run; end;
----------------------------------------------
-
作者:
rhlw (lw)
★☆☆☆☆
-
盒子活跃会员
2003/12/23 14:23:42
3楼:
太感谢你啦: hnxx2003 兄,该问题我在其他论坛发了好几次,但都没结果.这个问题也解决了我关于: "动态创建表单前,能否判断表单已存在?"这个问题——我可是足足想了二个星期的呀! 太谢谢你啦。 能否告诉我一声nil和assigned是什么吗?怎样用法,谢谢! 原来我是这样的: if form1=nil then form1:=Tform1.create(self); 但form1关闭后,就不能再打开了。
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
作者:
2003/12/28 11:45:35
5楼:
: if form1=nil then form1:=Tform1.create(self); 但form1关闭后,就不能再打开了。 你这样是不行的。 if form1=nil then 是用来判断form1的实例指针是否为空的(也就是form1是不是存在)。而form1=nil 这句是指窗体不存在; nil:可以用来判断实例在应用中是否存在。 form1不存在了,你就不能通过Tform1这个不存在的对象来创建窗体了。 我们只能用应用程序句柄application来创建窗体了。 if form1=nil then //-if not assigned(form1) then 这句的作用与上一句是一样的。 application.createform(tform1,form1); assigned的作用你可以看delphir 帮助文件。
----------------------------------------------
-