Foxtable(狐表)用户栏目专家坐堂 → 这算不算Bug啊


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

主题:这算不算Bug啊

帅哥哟,离线,有人找我吗?
atmetmicoo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
这算不算Bug啊  发帖心情 Post By:2012/12/20 11:22:00 [只看该作者]

庞老师,我发现一个奇怪的问题,请帮忙瞧瞧:

 

窗口A中单击某按钮,click代码为:
Forms("B").open
Forms("B").Controls("Button1").performclick()
但是在关闭B窗口之后,会提示 B窗口已经关闭,不能调用Button1控件 ,代码没什么问题,我临时做了个项目试也是这结果,是不是我的安装版本出现问题,案例如下:
 


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb

 


 


图片点击可在新窗口打开查看此主题相关图片如下:错误提示如下
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-12-20 11:24:39编辑过]

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


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

不是bug,窗口关闭了,就不能调用其中的控件了,这是可以理解的。

如果要复用这段代码,你可以做成自定义函数:

 

http://www.foxtable.com/help/topics/1486.htm

 

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2012/12/20 11:30:00 [只看该作者]

谢谢狐爸的及时回复

 

问题是我只有点击 A窗口按钮的时候才会运行这个代码才对,为什么我关闭B窗口也要运行A窗口Button1按钮的代码呢?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2012/12/20 11:34:00 [只看该作者]

狐爸,补充一下:我昨天在调试的时候,没碰到这个问题,代码没有任何修改,今天重新打开电脑之后就出现这个问题了,不知道您那边打开我这个项目会不会有这个错误提示。


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


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

以为你A窗口的按钮代码为:

Forms("B").open
Forms("B").Controls("Button1").performclick()

 

单击这个按钮首先执行:

Forms("B").open

因为B窗口是模式窗口,所以直到关闭B窗口,才会执行第二行代码:

Forms("B").Controls("Button1").performclick()

 

因为此时B窗口已经关闭,所以提示错误。

 

你将B窗口改为非模式窗口,例如独立窗口,就不会有这个问题。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/20 11:59:00 [只看该作者]

 看了一下,因为你的窗口2是模式窗口。

 执行流程是这样的。

Forms("窗口2").open()
'在这里暂停,先去处理窗口,窗口关闭以后再执行下面的代码。
Forms("窗口2").Controls("Button1").performclick()

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2012/12/20 12:06:00 [只看该作者]

谢谢狐爸,林老师

 

我犯的错误是不了解模式窗口的特性,现在没问题了,好吃午饭了。


 回到顶部