主程序中一般写什么没什么规定,最简单的写打开数据库,执行表单之类的语句了。
 连编的时候设置MAIN。PRG为主文件,具体操作在项目管理中右击MAIN设置言文件。
 运行时一闪而过,在主程序中缺少READ EVENTS

解决方案 »

  1.   

    将表单 pass的WindowType改为“1-模式”试试。另外,主画面表单的ShowWindow属性要设置为“2-作为顶层表单”,最后不要少了read events
    在主程序中间,最好添加上on shutdown do myquit之类,而myquit.prg只需要有quit命令即可,这样可防止不能退出VFP。
      

  2.   

    up,
    read events 必须在do form ... 后。
      

  3.   

    谢谢大家的帮助。我现在画面已经可以出来了。问题发生在PASS表单windowtype属性是1模式。
       现在的问题还是不能退出,我加入了CBA说的那个MYQUIT,不过还是没用。我把我的MAIN.prg贴出来,大家帮忙改改,成功马上给分。而且现在一启动编译好的程序就说什么----资源文件无效,是否改为空文件? ----什么意思?
    main.prg
    _screen.windowstate=2
    _screen.caption="人事管理系统1.0beta"
    _screen.closable=.F.
    _screen.maxbutton=.F.
    _screen.minbutton=.F.
    close all
    clear all
    set sysmenu off
    set talk off
    set date ansi
    set status bar off
    do form pass
    read events
    set sysmenu on
    set status bar on
    on shutdown do myquit
    close all
    clear all
    return
      

  4.   

    on shutdown do myquit 语句应该放在开始部分,不要放在READ EVENTS之后
    另外,如果你的PASS是模式表单,READ EVENTS则不必要的,可以在调用其它顶层表单时再执行此语句。
      

  5.   

    资源文件可以清空,VFP会自动建立的。
    看得出来,你还是受过程化编程的影响较深,其实READ EVENTS后面的语句是起不了作用的,它们应该放在 MYQUIT 中。
      

  6.   

    谢谢CBA的回答。
       现在的问题是,我进入画面输入密码,正确以后一点确定,所有程序自动关了,为什么不执行我的表单main呢?
       我对这个头文件还是不清楚。请告诉我具体一点可以吗?
      

  7.   

    对于单击“确定”后,所有程序将结束,可能是你调用的“Main”表单的ShowWindow属性没有设置为2(作为顶层表单),将其改为“2”即可。
    另外,在每一个退出软件系统的语句中,都要有“Clea Events”这样的语句。
    对于程序(编译后生成的.exe文件)首次运行时可能提示资源文件无效的情况可以不用理它。
      

  8.   

    请参看“http://www.csdn.net/expert/topic/793/793422.xml?temp=.7530329”
      

  9.   

    解决了吗?
    如果你想让表单包括在VFP程序的里面,即不需要菜单,则把ShowWindow的属性设置为2;相反如果你使用的菜单或系统的状态栏,则把要把打开的表单设置为1另外你开始执行的程序main.prg也有问题!建议修改如下:
    main.prg
    _screen.windowstate=2
    _screen.caption="人事管理系统1.0beta"
    _screen.closable=.F.
    _screen.maxbutton=.F.
    _screen.minbutton=.F.
    set sysmenu off
    set talk off
    set date ansi
    set status bar off
    do form pass
    read events
    set sysmenu on
    set status bar on不知道结果如何?凭感觉改的!~
      

  10.   

    下面给出关键部分代码,供参考:
    main.prg
    ltestpass=.f.
    do form pass   && 在此表单中对密码进行检查,如正确,将lTestpass置为.t.
    if ltestpass=.f.
       message('密码不正确!',64,'退出')
       clos all
       clea wind all
       on shut
       quit
    endif
    do form main.scx    && MAIN.SCX的SHOWWINDOW=2-作为项层表单,NAME=MAIN
    ACTIVATE WIND MAIN
    read events
    **********************************
    * 以下代码应写在main.scx的UNLOAD中
    set sysmenu on
    set status bar on
    close all
    on shutdown
    quit
    return