Foxtable(狐表)用户栏目专家坐堂 → 在BeforeOpenProject 中为什么有的时候可以调用全局代码,有的时候不可以调用??知道的告诉下,谢谢了


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

主题:在BeforeOpenProject 中为什么有的时候可以调用全局代码,有的时候不可以调用??知道的告诉下,谢谢了

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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 10:50:00 [只看该作者]

以下是引用Bin在2013-6-4 10:46:00的发言:
会不会你那个项目中的其他全局代码冲突了.
不会,比如我重新声明了一个public s as string = “1”
然后在beforeopenproject里用messagebox.show(s)照样会出错,我用try... catch下了错误,发现出现usercode的类型初始值设定项引发异常
 


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


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

出错的项目发出来看看吧

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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 14:18:00 [只看该作者]

以下是引用Bin在2013-6-4 11:03:00的发言:
出错的项目发出来看看吧
找到问题所在了,全局代码里有这段。。
以下内容为程序代码:

1 Public ImageList As New System.Windows.Forms.ImageList()
2 Sub new
3 ImageList.ImageSize = New System.Drawing.Size(48, 48) '设置图标大小
4 Dim images As List(of String()) = DataTables("业务导航").GetUniqueValues("","节点图标","节点编号")
5 For Each image As String() In images
6 If image(1)>"" Then
7 ImageList.Images.Add(image(1) - 1,GetImage(image(0)))
8 End If
9 Next
10 End Sub
用了sub new 之后才出现错误,不知道要怎么改才有同样的效果

[此贴子已经被作者于2013-6-4 14:19:50编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/4 15:31:00 [只看该作者]

你应该给个错误截图,否则没头没脑怎么看呢?

 

蒙一下, 估计问题出在这行:

 

ImageList.Images.Add(image(1) - 1,GetImage(image(0)))

 

改为:

 

Public ImageList As New System.Windows.Forms.ImageList()
Sub new
ImageList.ImageSize = New System.Drawing.Size(48, 48) '设置图标大小
Dim images As List(of String()) = DataTables("业务导航").GetUniqueValues("","节点图标","节点编号")
For Each image As String() In images
    If image(1)>"" Then
        If IsNumeric(image(1)) AndAlso image(0) > ""  Then
            Dim img As system.drawing.image = GetImage(image(0))
            If img IsNot Nothing
                ImageList.Images.Add(cint(image(1)) - 1,img)
            End If
        End If
    End If
Next
End Sub

 

 


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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 16:41:00 [只看该作者]

以下是引用狐狸爸爸在2013-6-4 15:31:00的发言:

你应该给个错误截图,否则没头没脑怎么看呢?

 

蒙一下, 估计问题出在这行:

 

ImageList.Images.Add(image(1) - 1,GetImage(image(0)))

 

改为:

 

Public ImageList As New System.Windows.Forms.ImageList()
Sub new
ImageList.ImageSize = New System.Drawing.Size(48, 48) '设置图标大小
Dim images As List(of String()) = DataTables("业务导航").GetUniqueValues("","节点图标","节点编号")
For Each image As String() In images
    If image(1)>"" Then
        If IsNumeric(image(1)) AndAlso image(0) > ""  Then
            Dim img As system.drawing.image = GetImage(image(0))
            If img IsNot Nothing
                ImageList.Images.Add(cint(image(1)) - 1,img)
            End If
        End If
    End If
Next
End Sub

 

 可能是我没讲清楚,是这样的,这代码是没错,但是加上前面那个项目的代码之后beforeopenproject里就无法调用全局代码里的东西了,然后排查发现注释掉以上这段代码问题就解决了,而这段代码里面问题所在就是使用了sub new。。

所以问题就是我使用了sub new,导致合并代码之后beforeopenproject里无法调用全局代码


 回到顶部
总数 15 上一页 1 2