以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  退出窗口是关闭项目出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71202)

--  作者:一笑
--  发布时间:2015/7/7 11:31:00
--  退出窗口是关闭项目出错
关闭窗口写入了用以下代码,原来发布项目后可以退出项目。今天设置了在线升级后和主程序后,发布项目后,客户端无法通过代码退出项目并弹出窗口“超出数组索引”,后关闭了在线升级和主程序定义后,仍然无法退出项目而进入了主页面,求解。
system.diagnostics.process.GetProcessesByName("foxtable")(0).kill
--  作者:大红袍
--  发布时间:2015/7/7 11:42:00
--  

1、你用的是永久版?你修改了进程的名字?

 

2、尽量不要用 system.diagnostics.process.GetProcessesByName("foxtable")(0).kill 用 basemainform.Close 更好一些。


--  作者:一笑
--  发布时间:2015/7/7 11:45:00
--  
1. 是永久版,在发布项目高级选项中改了主程序名字,但是又改回来了,还是不行
2. 我想关闭某个窗口时退出项目,用 basemainform.Close?

--  作者:大红袍
--  发布时间:2015/7/7 11:54:00
--  

1、你的项目名必须和之前一致;进程名如果改了,就要和代码的匹配;

 

2、或者你用 basemainform.Close 或者 Syscmd.Project.Exit(false)


--  作者:一笑
--  发布时间:2015/7/7 12:01:00
--  
Syscmd.Project.Exit(false)之前也用过,刚试了basemainform.Close,可以关闭,但会出现对象已释放窗口。
--  作者:大红袍
--  发布时间:2015/7/7 12:03:00
--  
 你的升级代码那里,代码写得有问题,所有的代码,都要包含在升级判断那里,这样就没问题了。
--  作者:一笑
--  发布时间:2015/7/7 13:10:00
--  
升级代码在AfterOpenProject
If Syscmd.Project.Update(False,False) = False Then
Forms("用户登录").Open()
...
现在已经删除了
Syscmd.Project.Exit(false),basemainform.Close,出现对象已释放窗口是一直有的问题

--  作者:大红袍
--  发布时间:2015/7/7 15:01:00
--  

 AfterOpenProject事件中,所有代码包含在判断里面

 

 beforeCloseProject等系统事件的代码注释掉。

 

 不然你就用kill,不然你就上传例子测试。


--  作者:一笑
--  发布时间:2015/7/7 15:48:00
--  

AfterOpenProject中已删除代码。

beforeCloseProject等系统事件的代码都已注释掉。

Syscmd.Project.Exit(false),basemainform.Close,出现对象已释放窗口是一直有的问题,以前开帖讨论过,后来一直用kill。今天改了主程序后(而且没法去掉),所以出问题,
我现在用kill。