Foxtable(狐表)用户栏目专家坐堂 → [求助] 未设置对象变量或 With 块变量


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

主题:[求助] 未设置对象变量或 With 块变量

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
[求助] 未设置对象变量或 With 块变量  发帖心情 Post By:2019/4/20 10:39:00 [只看该作者]

.NET Framework 版本:2.0.50727.9035
Foxtable 版本:2017.12.18.1
错误所在事件:项目,AfterOpenProject
详细错误信息:
未设置对象变量或 With 块变量。


Dim MainTab As C1Command.C1DockingTab = BaseMainform.Controls("MainPages")
MainTab.HotTrack = True
MainTab.CanCloseTabs = True
MainTab.Font = New Font("微软雅黑",10)
BaseMainForm.Text = "主界面后台"
ShowCloseButton = False
For Each t As Table In Tables
    If t.TableType = TableTypeEnum.Normal AndAlso t.IsCopy = False Then
        Dim s As String
        If t.DataTable.Caption > "" Then
            s = t.DataTable.Caption
        Else
            s = t.Name
        End If
        If s.Length > 10 Then
            s = Left(s,10)
        End If
        Dim str As New String(" ",12 - s.Length)
        If t.Name <> "主界面" Then
            Dim tb As Object = MainTab.Controls(t.Name)
            tb.Text = s & str & "x"
        End If
        t.DataTable.SysStyles("EmptyArea").BackColor = Color.White
    End If
Next
Forms("导航栏").Show
Forms("主界面").Show
MainTable = Tables("主界面")

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/20 11:06:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看看哪一句代码有问题

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2019/4/20 11:15:00 [只看该作者]

好像是红色部分的问题,不知道怎么处理

Dim MainTab As C1Command.C1DockingTab = BaseMainform.Controls("MainPages")
MainTab.HotTrack = True
MainTab.CanCloseTabs = True
MainTab.Font = New Font("微软雅黑",10)
BaseMainForm.Text = "主界面后台"
ShowCloseButton = False
For Each t As Table In Tables
    If t.TableType = TableTypeEnum.Normal AndAlso t.IsCopy = False Then
        Dim s As String
        If t.DataTable.Caption > "" Then
            s = t.DataTable.Caption
        Else
            s = t.Name
        End If
        If s.Length > 10 Then
            s = Left(s,10)
        End If
        Dim str As New String(" ",12 - s.Length)
        If t.Name <> "主界面" Then
            Dim tb As Object = MainTab.Controls(t.Name)
            tb.Text = s & str & "x"
        End If
        t.DataTable.SysStyles("EmptyArea").BackColor = Color.White
    End If
Next
Forms("导航栏").Show
Forms("主界面").Show
MainTable = Tables("主界面")

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/20 11:24:00 [只看该作者]

If s > "" andalso s.Length > 10 Then
            s = Left(s,10)
        End If

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2019/4/20 11:27:00 [只看该作者]

还是有问题

Dim MainTab As C1Command.C1DockingTab = BaseMainform.Controls("MainPages")
MainTab.HotTrack = True
MainTab.CanCloseTabs = True
MainTab.Font = New Font("微软雅黑",10)
BaseMainForm.Text = "主界面后台"
ShowCloseButton = False
For Each t As Table In Tables
    If t.TableType = TableTypeEnum.Normal AndAlso t.IsCopy = False Then
        Dim s As String
        If t.DataTable.Caption > "" Then
            s = t.DataTable.Caption
        Else
            s = t.Name
        End If
        If s.Length > 10 Then
            s = Left(s,10)
        End If
        Dim str As New String(" ",12 - s.Length)
        If t.Name <> "主界面" Then
            Dim tb As Object = MainTab.Controls(t.Name)
            tb.Text = s & str & "x"
        End If
        t.DataTable.SysStyles("EmptyArea").BackColor = Color.White
    End If
Next
Forms("导航栏").Show
Forms("主界面").Show
MainTable = Tables("主界面")

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/20 11:53:00 [只看该作者]

MainTab.Controls(t.Name),没有这个名称的控件就会出错。

'自己看看都有什么名称
for each o as object in MainTab.Controls
msgbox(o.name)
next

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2019/4/20 14:12:00 [只看该作者]

好像有关联表的就报错了

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/20 15:06:00 [只看该作者]

那就排除掉关联表

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2019/4/20 16:09:00 [只看该作者]

怎么排除关联表?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/20 17:06:00 [只看该作者]

if t.name.contains(".") then
msgbox("是关联表")
end if

 回到顶部