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


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

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

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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
在BeforeOpenProject 中为什么有的时候可以调用全局代码,有的时候不可以调用??知道的告诉下,谢谢了  发帖心情 Post By:2013/6/4 9:21:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:登录界面.foxdb


[此贴子已经被作者于2013-6-4 9:57:45编辑过]

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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 9:28:00 [显示全部帖子]

这个要先有数据库,然后修改链接语句

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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 9:57:00 [显示全部帖子]

以下是引用Bin在2013-6-4 9:27:00的发言:
昨天你发的例子,无法连接外部数据源无法进入.
这次不需要数据库了,帮忙看下吧。。谢谢


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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 10:29:00 [显示全部帖子]

以下是引用Bin在2013-6-4 10:23:00的发言:
应该是正常执行了.全局代码. 因为一打开就报错无法连接外部数据源!
现在我把这些代码复制到其他项目,在BeforeOpenProject中就调用不了全局里面的事件和变量了。。帮忙看看,谢谢了 


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


加好友 发短信
等级:婴狐 帖子:42 积分:385 威望:0 精华:0 注册:2013/2/20 20:56:00
  发帖心情 Post By:2013/6/4 10:42:00 [显示全部帖子]

以下是引用Bin在2013-6-4 10:33:00的发言:
是不是有代码冲突了.没有对比 和测试.没办法啊.

凭空猜测帮不上你.

就是把这些代码复制到一个已经存在的项目里面,上面BeforeOpenProject中执行全局里面的就会处错误,大概意思就是调用不了全局里面的东西了,这个不知道为什么


 回到顶部
帅哥哟,离线,有人找我吗?
xp
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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的类型初始值设定项引发异常
 


 回到顶部
帅哥哟,离线,有人找我吗?
xp
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xp
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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里无法调用全局代码


 回到顶部