以文本方式查看主题 - 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。今天改了主程序后(而且没法去掉),所以出问题, |