Foxtable(狐表)用户栏目专家坐堂 → Syscmd.Project.Exit()命令有Bug?为什么总提示出错?


  共有19866人关注过本帖树形打印复制链接

主题:Syscmd.Project.Exit()命令有Bug?为什么总提示出错?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/28 9:56:00 [只看该作者]

就用AfterOpenProject事件吧。

 

我测试Syscmd.Project.Exit()没有问题,所以处理不了,并非不处理,CZY版主发现的bug, 比所有人加起来发现的bug还多,可以说是foxtable的第二开发者,是我最尊重的人,所以不存在不相信的问题,只是我暂时测试不出来。


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/5/28 10:19:00 [只看该作者]

以下是引用狐狸爸爸在2010-5-28 9:56:00的发言:

就用AfterOpenProject事件吧。

 

我测试Syscmd.Project.Exit()没有问题,所以处理不了,并非不处理,CZY版主发现的bug, 比所有人加起来发现的bug还多,可以说是foxtable的第二开发者,是我最尊重的人,所以不存在不相信的问题,只是我暂时测试不出来。

   现在我的项目中用AfterOpenProject事件也出错!所以才非常郁闷!

 

    找不出原因,是不好解决!还是希望贺老师抽时间认真检查一下Syscmd.Project.Exit()这个系统命令吧,毕竟其他人对此都无能为力。或者再提供一个更好的,退出项目的命令(或方法)也可。

[此贴子已经被作者于2010-5-28 10:18:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/28 10:27:00 [只看该作者]

我会继续留意的。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/1 16:41:00 [只看该作者]

    5月31号的版本,在AfterOpenproject事件中执行Syscmd.Project.Exit()命令,仍然出错,错误提示信息见图。错误提示这么详细,难道这个小问题就解决不了?还是贺老师不重视?(补充:和以前一样,在开发版中不会出错,只有运行发布后的项目才会出错)。


图片点击可在新窗口打开查看此主题相关图片如下:退出项目出错.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2010-6-1 16:44:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/1 16:45:00 [只看该作者]

用例子说话,做个简单的例子传上来,我发布测试看看。

[此贴子已经被作者于2010-6-1 16:46:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/1 17:11:00 [只看该作者]

以下是引用狐狸爸爸在2010-6-1 16:45:00的发言:

用例子说话,做个简单的例子传上来,我发布测试看看。

[此贴子已经被作者于2010-6-1 16:46:48编辑过]

     我也想做一个例子,去掉所有的东西,只保留这个命令,但遗憾的是这样就不报错了。不是我不做,是我实在做不出来既简单又出错的例子。我的项目有几十M,数据又很多,上传过去也不太现实。或许就像CZY老师说的,只有在一定的环境下才会报错。

    但问题是100%存在的,只要去掉这行命令就不会有错误提示了。而且,从上面的错误提示至少可以看出以下几个问题:

   (1)出错的这个命令确确实实在AfterOpenProject事件中;

  (2)出错的对象是:frmMain.

    (3)出错的原因是:无法访问已释放的对像。

   (4)出错就是由于退出项目的命令引起。

 

  有这些难道还不够吗?至少已经有了查找错误的方向吧?

  作为用户,我们又不知道系统的原代码,我们只要能发现问题在何时出现就行了,难道非得让我们做出一个能够出错的事例才叫错误?

[此贴子已经被作者于2010-6-1 17:12:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/1 17:24:00 [只看该作者]

退出命令的后面加一个Return.

 

Syscmd.Project.Exit()

Return

 

如果还不行,慢慢来,一项一项带代码排除,直到不出错。 

将所有窗口的自动打开属性设置为False,将AfterOpenProject事件和MaintableChanged事件中的打开窗口的代码全部删除。

 

用户代码千奇百怪,并非一定就是foxtable有问题。

 

 

 

 

[此贴子已经被作者于2010-6-1 17:26:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/1 17:35:00 [只看该作者]

以下是引用狐狸爸爸在2010-6-1 17:24:00的发言:

退出命令的后面加一个Return.

 

Syscmd.Project.Exit()

Return

 

如果还不行,慢慢来,一项一项带代码排除,直到不出错。 

将所有窗口的自动打开属性设置为False,将AfterOpenProject事件和MaintableChanged事件中的打开窗口的代码全部删除。

 

用户代码千奇百怪,并非一定就是foxtable有问题。

  

[此贴子已经被作者于2010-6-1 17:26:54编辑过]

    您说得都没错,但是,只要去掉这行命令,就一切OK!不管是哪儿的问题,肯定和这个命令有关的。

    好的,我再认真查查吧。


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40580 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/6/2 5:15:00 [只看该作者]

AfterOpenproject事件里面还有别的代码吗?最好全部贴出来!

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/4 12:33:00 [只看该作者]

以下是引用狐狸爸爸在2010-6-1 17:24:00的发言:

退出命令的后面加一个Return.

 

Syscmd.Project.Exit()

Return

 

 

[此贴子已经被作者于2010-6-1 17:26:54编辑过]

    按照贺老师的方法详细检查,终于查到了原因所在。

 

    原来,在事件代码中当执行Syscmd.Project.Exit()命令后,这一行后面的代码仍然会继续执行,但执行后面的代码时项目已经退出,窗口和表都已经不存在,所以造成了出错。如果在Syscmd.Project.Exit()后面加一个return,则一切OK!不会出错了。

    虽然这不算什么Bug,也有很简单的解决办法,但仍然觉得有些不符合常理!既然执行Syscmd.Project.Exit()命令后整个项目都已经退出了,那么就不应该再执行任何代码了,但现在的系统中怎么还能继续执行后面的代码?

 

 

[此贴子已经被作者于2010-6-4 12:51:28编辑过]

 回到顶部
总数 40 上一页 1 2 3 4