标题:一个死机现象,如何解决?
只看楼主
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
结帖率:96.03%
已结贴  问题点数:20 回复次数:8 
一个死机现象,如何解决?
我的程序在刚加载时,主界面刚显示出来时就,点击右上角叉号来关闭,就会出现死机?此时叉号呈灰色,无法关闭软件。
窗口的unload中加上
quit
CLEAR EVENTS
或去掉都会死机。

开机过一会,再关闭软件,则正常。
请问一下,是什么原因,如何解决?

搜索更多相关主题的帖子: 现象 关闭 软件 窗口 都会 
2019-04-01 17:00
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:5 
do form 主表单.scx
on shutdown quit
read events


主表单的unload中加上
CLEAR EVENTS
quit

[此贴子已经被作者于2019-4-2 07:07编辑过]

2019-04-02 07:05
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 2楼 gs2536785678
试了,仍就不行。
经排查,故障原因是主窗口初始化中有一句代码:
SELECT DISTINCT qy,xm,chrtopy2(xm) as zjm FROM xsxx INTO TABLE customer
引起的。
该命令执行时间较长。在没有执行完就闭软件,则会造成死机。
2019-04-02 09:17
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 3楼 su0527
如果该代码执行完全后,再赋值一个变量,当关闭按钮接受到这个变量值改变后,再关闭就好了。
但unload中没有代码时,叉号关闭也是有效的,好像没法控制它不关闭软件呀。
2019-04-02 09:33
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:5 
这位朋友,在主程序中一般很少用
SELECT-SQL语句
只是一些环境设置的SET语句
你的做法,不太常见。
*


[此贴子已经被作者于2019-4-2 13:54编辑过]

2019-04-02 13:53
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 5楼 gs2536785678
查询语句不是在主程序中,而是在主窗口的init中
2019-04-02 14:10
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
得分:5 
以下是引用su0527在2019-4-2 09:33:20的发言:

如果该代码执行完全后,再赋值一个变量,当关闭按钮接受到这个变量值改变后,再关闭就好了。
但unload中没有代码时,叉号关闭也是有效的,好像没法控制它不关闭软件呀。


在 QUERYUNLOAD 事件过程中执行 NODEFAULT 可以阻止表单卸载。
可以试试在这里判断你的变量值
2019-04-02 15:54
shenkj001
Rank: 3Rank: 3
来 自:河南安阳
等 级:论坛游侠
威 望:9
帖 子:340
专家分:147
注 册:2005-5-23
得分:5 
主表单的unload中加上
CLOSE DATABASE
CLEAR EVENTS
QUIT
试试

[此贴子已经被作者于2019-4-2 20:20编辑过]


shenkj001@
2019-04-02 20:14
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
得分:0 
也可以用 myfll.fll,直接杀死进程。
2019-04-03 23:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493897-1-1.html




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

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