Foxtable(狐表)用户栏目专家坐堂 → 编译函数不执行


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

主题:编译函数不执行

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 14:09:00 [显示全部帖子]

函数里面是什么内容?

        filter="se/lect * from {bscode} where code='bb_" & bbbh & "'"
        cmd.commandtext=filter
        lsdt=cmd.ExecuteReader()
        Dim s As String=decrypttext(lsdt.dataRows(0)("web"),key1,key2)
msgbox(s)
        Functions.Remove("test") 先删除再添加
        Functions.Add("test",s)
        Functions.Complie
        Functions.Execute("test")
        Functions.Remove("test")

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 14:30:00 [显示全部帖子]

这种代码编译为函数是根本不可能执行的!

函数里的代码都是独立的,和外部的调用程序完全是没有任何关系的。比如wb变量,函数里面即没有定义这个变量,也没有从外部传入这个变量,因此这个变量是根本不存在的。

函数需要改为这样

dim wb as WeUI = args(0)
With wb.AddInputGroup("form1","ipg1","筛选条件")
    .AddInput("startdate","开始日期","date")
    .AddInput("enddate","结束时间","date")
    .AddInput("单位名称1","单位名称","text")
    .AddInput("合同编号1","合同编号","text")
End With 
With wb.AddCheckGroup("form1","偏好","分组统计")
  '  .Add("小区名称","小区名称")
    .Add("单位名称","单位名称")
    .Add("合同编号","合同编号")
End With

调用:
Dim s As String=decrypttext(lsdt.dataRows(0)("web"),key1,key2)
        Functions.Add("test",s)
        Functions.Complie
        Functions.Execute("test",wb)
        Functions.Remove("test")

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 15:02:00 [显示全部帖子]

wb定义为全局变量,然后不同网页都使用这个变量?强大的脑洞!!然后给自己挖了一个强大的坑!!

网页对象都应该是互相独立的,如果使用全局变量,会导致不同网页的内容互相纠缠。

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 15:21:00 [显示全部帖子]

基本上不能。网页都是并发的,比如2个客户同时打开同一个网页(或者不同的网页)都使用这个变量,您猜猜这个全局变量会是哪一个客户端网页的内容?

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 15:29:00 [显示全部帖子]

只是自己测试,打开一两个页面“应该”会正常一点。使用的人一多。。。。。。。

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/20 16:37:00 [显示全部帖子]

异步更不能使用全局变量,总之服务端程序最好不要使用全局变量,言尽于此。

 回到顶部