DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: 19137911446
今日帖子: 6
在线用户: 33
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 rhlw (lw) ★☆☆☆☆ -
盒子活跃会员
2003/12/15 14:27:04
标题:
主窗口为主程序,带启动画面,登录画面,能否在主窗口中实现重新登录?请高手指点谢谢! 浏览:1470
加入我的收藏
楼主: 我在登录窗口用如下句子调用主窗口(当密码正确时):
ModalResult := IdOk;
现想在主窗口中重新登录,不知能否实现?请帮帮忙,最好能提供源码谢谢.
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
作者:
男 heihei_76 (小黑) ★☆☆☆☆ -
盒子活跃会员
2003/12/15 14:57:23
1楼: 重新showmodal 登陸窗口可以嗎
----------------------------------------------
-

﹗﹗﹗
作者:
男 hnxx2003 (dingding) ★☆☆☆☆ -
盒子活跃会员
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关闭后,就不能再打开了。

----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2003/12/23 14:36:14
4楼: 简单示例
此帖子包含附件:sephil_20031223143613.rar 大小:167.1K
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 hnxx2003 (dingding) ★☆☆☆☆ -
盒子活跃会员
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 帮助文件。

----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS