国家儿童医学中心(上海) | 上海交通大学医学院附属上海儿童医学中心 | 心脏中心 官方知识平台

如何处理系统定时自动隐藏到后台的问题(已经解决)

陆医生
📅 2008-07-19 · 👁 23 次浏览 · 💬 6 条回复
思路1,想在运行系统之前,运行run("taskkill /im EgrdiXP.exe") 命令,先对后台运行的程序进行终止,但这好像不是最好的办法。

全部回复 (6)

陆医生 会员
📅 2008-07-19
思路1,想在运行系统之前,运行run("taskkill /im EgrdiXP.exe") 命令,先对后台运行的程序进行终止,但这好像不是最好的办法。
陆医生 会员
📅 2008-07-19
怀疑为定时器所致:
if(CountFor("表1","test", "=" ,"OK") >= 1,SetLabel("net1","√网络测试通过!") And SetLabel("net2",""),SetLabel("net2","×网络测试没有通过!") And SetLabel("net1","")) And if(CountFor("表1","ID", "=" ,computerID,"通过验证","=","-1") >= 1,SetLabel("authenticated1","√系统认证通过!请继续登录...") And SetLabel("authenticated2",""),SetLabel("authenticated2","×您的电脑还没有通过系统认证!") And SetLabel("authenticated1","")) And if(Exist("\\CHDDP7\chddp$\datapool.egd") = True ,SetLabel("exist1","√数据库状态完整!") And SetLabel("exist2",""),SetLabel("exist1","") And SetLabel("exist2","×数据库文件损坏!!"))
陆医生 会员
📅 2008-07-19
备份含refuse的客户端程序和data0001



陆医生 会员
📅 2008-07-19
看起来跟定时器无关
CopyFile("\\CHDDP7\CHDDP$\splash.jpg",docdir+"splash.jpg") And OpenMenu("menu") And HideMainWindow()
陆医生 会员
📅 2008-07-19
还有一个值得怀疑的表验证公式:closewindow()
陆医生 会员
📅 2008-07-19
我很有可能发现问题所在:
清理现场 我们知道,离开某个表之前,如果没有关闭录入窗口、备注窗口、图片窗口、明细窗口或关联表窗口,那么下次进入这个表,上述窗口就会自动打开,为了保证每次进入这个表都能得到一个“干净”的环境,我们可以通过表验证公式来“清理现场”: CloseWindow() And CloseColWindiow() And CloseRGrid() 由于存盘的时候,同样会执行表验证公式,这样上述公式会造成存盘时窗口自动关闭,为避免这种情况,可以将公式改为: if(Status=0,CloseWindow() And CloseColWindiow() And CloseRGrid(),True) Status是一个系统变量,存盘的时候返回1,其他时候返回0。
也就是说,如果我设置了文件的自动存盘间隔,那么系统在30分钟后自动存盘时会重新运行表验证公式,这样如果当前表存在表验证公式,那么窗口就会关闭;这也正是为什么在“非法途径连接数据库”界面不会出现自动关闭,而登录界面就会出现的原因所在了; 事实证明,的确如此,我把客户端文件和data0001都设置了自动存盘间隔,时间为30分钟,晕菜,我该称自己为天才么???
陆医生 会员
📅 2008-07-20
彻底根治:
1,取消文件自动存盘间隔;
2,设置变量:%表验证公式% :if(Status=0,CloseWindow(),True)
3,有表验证公式的均采用2中变量。

✏️ 写回复

登录后即可回复

👤 用户信息

加载中…