以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]这个关闭命令怎么做?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=7850)

--  作者:xj22710
--  发布时间:2006/9/20 2:34:00
--  [求助]这个关闭命令怎么做?
在hidemainwindow()只显示录入窗口的模式下,如何使点击录入窗口的关闭按钮达到退出系统的要求?借助表验证或文件验证公式可以做到吗?

注:不可以在窗口中做自定义退出按钮,那样就破坏了系统的设计意图

-=-=-=- 以下内容由 xj227102006年09月20日 03:20am 时添加 -=-=-=-
想了2个办法,但不知道该如何写相应公式:
1、在关闭窗口前执行一公式,如更改某个变量值,关闭后立即能执行判断这个变量值,如果符合条件立即保存并关闭系统。
2、关闭后能立即自动打开另一个已经定义好的新窗口,窗口很小,这个窗口里设置一个定时器(0.001秒的执行间隔时间),定时器执行保存并关闭。(由于窗口很小,执行时间又很短,希望能不被察觉)


--  作者:smileboy
--  发布时间:2006/9/20 3:59:00
--  
在关闭窗口前执行公式:save() and Exit()
--  作者:xj22710
--  发布时间:2006/9/20 13:18:00
--  
这个方法我试过的,不可行,会使程序失去响应的。
--  作者:xj22710
--  发布时间:2006/9/20 13:58:00
--  
没有人想出办法吗?czy斑竹你帮我想想哈,你可是我心目中的高手了。。。
--  作者:czy
--  发布时间:2006/9/20 14:24:00
--  
1楼的两个想法到可以实现,关键是退出时保存需要时间,3楼所说的失去响应,我想可能是保存数据引起的。

保存和退出这两项肯定都是要执行的,所在这方面可能谁也没有更好的办法,你也可以试试用:Do(12,1),不过我想结果还会是一样的。


--  作者:czy
--  发布时间:2006/9/20 15:02:00
--  
测试了一下,窗口关闭前执行中的确不能用2楼的公式。

你可以试试第二种方法,在原窗口关闭前执行中设置打开某一窗口,如:OpenWindow(n,-200,-200),然后在新窗口中加入定时器,置入2楼的公式,这样应该没问题。


--  作者:xj22710
--  发布时间:2006/9/20 16:48:00
--  
我百试不得其解,麻烦czy斑竹能做一个例子,实验成功后上传分享吗?拜托!
--  作者:xj22710
--  发布时间:2006/9/20 21:50:00
--  
下面引用由czy2006/09/20 03:02pm 发表的内容:
测试了一下,窗口关闭前执行中的确不能用2楼的公式。

你可以试试第二种方法,在原窗口关闭前执行中设置打开某一窗口,如:OpenWindow(n,-200,-200),然后在新窗口中加入定时器,置入2楼的公式,这样应该没问题。

虽然说点了关闭,但如上的OpenWindow(n,-200,-200)是在该窗口还未执行关闭的时候先行执行的,也就是说,在第一个窗口打开的情况下执行打开另一个窗口,然而在易表中,是无法做到在某个窗口打开的时候,执行另一个openwindow()公式的(除了OpenModalWindow()函数),经测试,即使用OpenModalWindow()函数也是会产生失去响应的。

 所以解决办法只能从【第一个窗口完全关闭后,才能执行关闭系统的命令】这个思路下手。


--  作者:ylm
--  发布时间:2006/9/20 22:10:00
--  
试试这个:egd文件下载
--  作者:xj22710
--  发布时间:2006/9/20 22:22:00
--  
ylm斑竹是利用文件预处理中添加一定时器,判断变量值改变然后执行保存并退出,公式看起来并没有问题,但是实际上要么关闭窗口后并非立即执行退出系统,要么也是如上产生了程序失去响应