| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1303 人关注过本帖, 1 人收藏
标题:【求助】vf编好软件发布后,运行软件再退出,发现在任务管理器里并未退出, ...
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我也知道,用了 READ EVENTS 后 ,要用 CLEAR EVENTS来退出,
我今天测试,确实是 QUIT就能退出?
是不是因为我电脑装了VFP的原因?还是在没装VFP上,用QUIT就不能退出?这个我就不知道。
我在这里只是,说明我的情况,请各位大神,指教、
2015-08-07 12:24
monkey444
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2014-10-26
收藏
得分:0 
写quit能退出,可是关机的时候会提示:不能退出 visual fox
2015-08-07 14:40
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:1 
讨论得很热烈啊。我学VFP的时候,得到的结论是酱紫的(不过从来没实践过):READ EVENTS一定要用CLEAR EVENTS来解锁,否则会造成表单虽然释放,但表单对象还在内存里;程序代码的最后(是指最高层次那段代码的最后)写RETURN、CANCEL、QUIT,仅在VFP内部环境中有不同效果。对于已编译成EXE的文件来说,这三者都能造成EXE停止运行,并释放所有对象、变量、库、表等,然后返回到桌面。如果不写这三条命令其一,程序执行完最高层次代码的最后一句时,默认有一条RETURN命令。
2015-08-07 16:28
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
收藏
得分:1 
写quit能退出,可是关机的时候会提示:不能退出 visual fox   
 说明,其中有打开的某程序没有及时关闭。常用的方法有:read event 一定要与 clear event 成对。最终退出'试用' clear all,cancel,quit,  如果是 exe 文件,最后退出时也可以杀灭这个进程等。



星际花草
2015-08-07 16:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
解決的正路是不啟動vfp窗體,而不是隱藏它最後再退出,這個窗體自始至終是多餘的,那就是在任務管理器中一直存在的原因。程序從來就沒用到這個窗體,但啟動了兩個進程,正常退出了操作著的那一個,另一個僵屍則在最後做本來不需要做的動作quit來去掉它。這不叫解決了問題。

授人以渔,不授人以鱼。
2015-08-08 10:35
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用TonyDeng在2015-8-8 10:35:41的发言:

解決的正路是不啟動vfp窗體,而不是隱藏它最後再退出,這個窗體自始至終是多餘的,那就是在任務管理器中一直存在的原因。程序從來就沒用到這個窗體,但啟動了兩個進程,正常退出了操作著的那一個,另一個僵屍則在最後做本來不需要做的動作quit來去掉它。這不叫解決了問題。
既然你说不启动这个窗口,而不是要隐藏他?怎么做才不启动这个窗口呢?请指教?
另外?你说 QUIT是用来杀掉这个窗口的,我还以为用退出我们操作窗口。。
2015-08-09 12:20
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:2 
回复 3楼 monkey444
VFP的表单是一个类似Windows的窗口,也具有主窗口与子窗口的关系,具体表现在表单的 ShowWindow 属性。
按VFP9帮助的说法个人理解:
ShowWindow==0时,表单是一个放在 Visual FoxPro 主窗口中的,属子窗口。
ShowWindow==1时,表单是一个放在顶层窗口中的,也属子窗口。
ShowWindow==2时,表单是一个主窗口
可见,当表单的ShowWindow不是2时,就算你关闭了这个窗口也不一定能同时关闭整个应用。
下面代码中,不管有无使用_screen.Visible=.F.都能正常关闭应用。
程序代码:
** test.prg
*_screen.Visible = .F.
of = CREATEOBJECT("TForm")
of.Show 
READ EVENTS 
RETURN

DEFINE CLASS TForm AS Form
    ShowWindow = 2

    PROCEDURE UnLoad
        CLEAR EVENTS 
    ENDPROC
ENDDEFINE


[ 本帖最后由 吹水佬 于 2015-8-9 16:23 编辑 ]
2015-08-09 16:21
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:0 
顶你们,我觉得讨论这个问题很有意义,因为这问题困扰了不少初学者。
2015-08-09 18:04
monkey444
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2014-10-26
收藏
得分:0 
谢谢各位大师帮助!因为你们的高技术和热心,帮我解决了问题!感谢!
2015-08-10 22:56
快速回复:【求助】vf编好软件发布后,运行软件再退出,发现在任务管理器里并未退 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029209 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved