zhaocqdx 发表于 2007-12-10 16:41

关于VFP9.0连编的问题请指教

各位帮忙看一下我的代码哪里有错!谢谢。我先用一个界面表单在“进行系统”里面写上do form 用户登录
thisform.release,后面运行口令表,如果口令正确就进入空白表单和菜单。口令正确的代码是:public qx
i=i+1
if alltrim(ThisForm.nametxt.value)==''
        messagebox("请输入用户名",0+64,"系统提示")
        thisform.nnaemtxt.setfocus
        return
endif
if alltrim(ThisForm.wpdtxt.value)==''
        messagebox("请输入密码",0+64,"系统提示")
        thisform.wpdtxt.setfocus
        return
endif       
locate for alltrim(ThisForm.nametxt.value)==alltrim(yfdl.用户名)
if found()=.T.
        if alltrim(ThisForm.wpdtxt.value)==alltrim(yfdl.密码)
                release thisform
                messagebox("登录成功",0+48,"系统提示")
                if yfdl.用户权限="1"
                        qx=1
                else
                        qx=2
                endif
                do FORM 表单1
        else
                if i<3
                        messagebox("密码不正确",0+16,"系统提示")
                        thisform.wpdtxt.value=" "
                        thisform.wpdtxt.setfocus
                else
                        messagebox("非法用户,无权登录",0+48,"警告")
                        thisform.release
                endif       
        endif
else
        if i<3
                messagebox("该用户不存在!",0+48,"系统提示")
                thisform.nametxt.value=" "
                thisform.nametxt.setfocus
        else
                messagebox("非法用户,无权登录",0+18,"警告")
                thisform.release
        endif       
endif
帮我看看,我连编时没有提示错误,编成APP格式就没问题,但编成win32可扏行文件后点击就“一闪而过”什么都没有!麻烦各位!
听版主说要在主表单加上read events我改成了do form 用户登陆 read events连编后问题更大了,连项目管理器都打不开了。小弟初学麻烦大哥们说详细一点谢谢!

hu9jj 发表于 2007-12-10 21:22

运行第一个表单的时候就必须用read events语句建立起事件循环。

zhaocqdx 发表于 2007-12-11 19:00

搞不定啊大哥,联系个QQ我打包发给你看看!    108555805

紫侠 发表于 2007-12-11 19:59

一、在这段程序的后面加上
if yfdl.用户权限="1"
            qx=1
        else
            qx=2
        endif
        do FORM 表单1
        read events
二、在 表单1 的Destroy事件代码中写上
        clear events

zhaocqdx 发表于 2007-12-13 20:16

谢谢楼主的热心,我按你的写上了,编成EXE时候还是一闪就过了,你说的运行第一个表单,是不是我要将read events写在“欢迎”那个表单里,因为“欢迎”才是第一个表单。登陆框是第二个表单,我还是没有搞定!

hu9jj 发表于 2007-12-14 20:28

read envet可以放在主文件的DO 〈表单〉之后,也可以放在第一个表单的init事件中。

zhaocqdx 发表于 2007-12-15 21:25

唉,小弟无能,你们说的我都试过都搞不定!如果方便加个QQ:108555805我打包给你们看看。

hu9jj 发表于 2007-12-15 21:31

楼主的主文件是如何建立的?是用主程序来启动表单、菜单,还是将第一个表单设置成主文件?
我通常是用一段启动程序来作主文件,通过这段程序来设置环境、启动表单和菜单,read event语句就放在这个程序中。

zhaocqdx 发表于 2007-12-15 21:34

我是用“用户登陆”框里面的“确定”来启动空白表单再通过空白表单启动菜单。

zhaocqdx 发表于 2007-12-16 20:10

谢谢各位,我已经搞定这个问题。在主程序里写上read events退出系统里写上clear event

页: [1]

编程论坛