Foxtable(狐表)用户栏目专家坐堂 → 未设置对象变量或with变量块


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

主题:未设置对象变量或with变量块

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
未设置对象变量或with变量块  发帖心情 Post By:2013/9/3 8:53:00 [只看该作者]

If e.sender.Parent.name = "GroupBox3" Then
    Vars("btnName") = e.Sender.Name
    Forms("洗涤标志").Open()
End If

 

这段代码运行后有如下错误提示,不知是什么原因,请大家指点一下。

 


图片点击可在新窗口打开查看此主题相关图片如下:2013-09-02 14 42 54.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/3 8:55:00 [只看该作者]

你这还有其他代码吧.上面这段代码是不应该报这个错的. 没有可能性啊.
你把文件发上来看看.

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/3 9:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.zip

例子传上来了

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/3 9:51:00 [只看该作者]

我设了两个public全局变量的字典,是不是问题出在这里?

[此贴子已经被作者于2013-9-3 10:14:30编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/3 10:14:00 [只看该作者]

你的问题是全局CLick事件的第一个判断,没有父容器的时候就报错了.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.zip




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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/3 10:56:00 [只看该作者]

的确如您所说,我把代码改为:

If e.sender.name = "添加"  Or  e.Sender.Name = "取消" Then
    Return
End If
        'If e.Sender.Parent.name = "录入货品信息" Then
             'Return
         'End If

If e.sender.Parent.name = "GroupBox3" Then
    Vars("btnName") = e.Sender.Name
    Forms("洗涤标志").Open()
End If

也能正常执行。

但是,用红色代码替换紫色代码后却提示原先同样的错误!

可是,根据以下摘自帮助文件的大字部分,红色代码应该也是可以的。始终不明白,能否进一步指教一下?

 

Parent

返回控件所属的容器。

控件处于不同的容器中,返回的类型也是不同的:

如果控件位于窗口中,那么返回此窗口,类型为WinForm.Form
如果控件位于GroupBox(分组框)中,那么返回此GroupBox,类型为WinForm.GroupBox
如果控件位于Panel(面板)中,那么返回此Panel,类型为WinForm.Panel
如果控件位于TabControl(页面集合)的一个页面中,那么返回此页面,类型为WinForm.TabPage
如果控件位于NavBar(导航栏)的一个页面中,那么返回此页面,类型为WinForm.NavPage
如果控件位于SplitContainer(分区面板)的一个页面中,那么返回此页面,类型为
WinForm.SplitPanel

 

[此贴子已经被作者于2013-9-3 11:07:38编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/3 11:08:00 [只看该作者]

不用那么纠结,是用我的代码即可.

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/3 11:11:00 [只看该作者]

既是学习,知其然而不知其所以然,可能永远无法做到举一反三,可能永远要重复问一些幼稚的问题。

希望能讲解一下,或者给一个学习资料的链接。

[此贴子已经被作者于2013-9-3 14:57:19编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/3 11:24:00 [只看该作者]

如果你不执行 e.form.close 来关闭窗口的话是没问题的.

但是你关闭了窗口,就会注销了一些东西.然后就找不到了.

你可以去掉 e.form.close 看看,你会发现完美运作.

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/3 15:33:00 [只看该作者]

果然如你所说,通过这个例子学了不少东西。感谢大家,尤其是Bin!


 回到顶部