读书人

关于工程资料的疑问

发布时间: 2012-08-30 09:55:54 作者: rapoo

关于工程文件的疑问
请教几个Delphi主窗体的问题:
1、我观察了一下Main form 这个选项的设置,凡是设为 Main form 的窗体都排在工程文件的最前面。如果手动把一个窗体的Application.CreateForm代码排在最前面,这项目的 Main Form 也随之变为这个窗体。那么: Main Form 的作用就只是第一个窗体这么简单吗?
2、是不是设为 Main form 的窗体关闭之后就视为程序退出?
3、示例代码:

Delphi(Pascal) code
    Application.Initialize;    Application.CreateForm(Tdata1,   data1);    frm_Login := Tfrm_Login.Create(Application);    if frm_Login.登录成功 then    begin      frm_Login.Free;      Application.CreateForm(Tfrm_main,   frm_main);      Application.Run;    end    else begin      frm_Login.Free;    end;

这里的 Application.Run又是怎么回事?之前的Tfrm_Login.Create,它也是一个窗体,怎么就无需Application.Run?如果按照上面这段代码来设置工程文件的话,那项目的 Main form 这个选项就会自动变为空,这样对程序有影响吗?Application.Run 是用来做什么的?执行程序并显示主窗体吗?


[解决办法]
1.Main Form选项是和你工程文件对应的,任何一方改变了,相应的一方也会改变
如果Main Form选项有值,那么这个就是主窗体,如果没有就看工程文件的执行顺序
比如你这段代码
Main Form是没有值的,frm_Login是第一个要执行的窗体,但在Run这前他关闭了,所以不算
那么就到frm_main了,所以frm_main是主窗体

2.D规定第一个启动的窗体就是主窗体,主窗体关闭了程序就结束了

3.Run是程序开始运行,进入消息循环,不断的检查消息队列,提取消息,然后根据这些消息作出相应的操作

读书人网 >.NET

热点推荐