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


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

主题:编译函数不执行

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
编译函数不执行  发帖心情 Post By:2020/10/20 13:59:00 [只看该作者]

第一段代码
    Case webaddress
        bbbh=webaddress.replace("bb_","")
        e.AppendCookie("bbbh",bbbh)       
        wb = New WeUI
        wb.AddForm("","form1","fc_table")        
        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)
        Functions.Add("test",s)
        Functions.Complie
        Functions.Execute("test")
        Functions.Remove("test")
                With wb.AddButtonGroup("form1","btg1",False)
            If e.cookies("terminal")="手机"
                .Add("btn0","首页").attribute=""
            Else
                .Add("btn0", "首页","","/default")
            End If
            .Add("btn1", "确定", "submit")
        End With
        e.WriteString(wb.Build) '生成网页
        If pause="是"
            e.Handled = True '通知系统异步函数执行完毕,可以关闭信道
        End If

下面是第二段代码
    Case webaddress
        bbbh=webaddress.replace("bb_","")
        e.AppendCookie("bbbh",bbbh)        
        wb = New WeUI
        wb.AddForm("","form1","fc_table")        
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
        With wb.AddButtonGroup("form1","btg1",False)
            If e.cookies("terminal")="手机"
                .Add("btn0","首页").attribute=""
            Else
                .Add("btn0", "首页","","/default")
            End If
            .Add("btn1", "确定", "submit")
        End With
        e.WriteString(wb.Build) '生成网页
        If pause="是"
            e.Handled = True '通知系统异步函数执行完毕,可以关闭信道
        End If


本来第一段代码执行的效果同第二段代码,现在第一段代码不执行了,第二段代码才会执行。

[此贴子已经被作者于2020/10/20 14:01:58编辑过]

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 14:03:00 [只看该作者]

原来是可以用的,现在突然不能用了。

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


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望: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")

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 14:15:00 [只看该作者]

messagebox.show(s)
输出的就是下面这段代码
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
[此贴子已经被作者于2020/10/20 14:15:52编辑过]

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 14:15:00 [只看该作者]

  Functions.Remove("test") 先删除再添加也不能执行。
[此贴子已经被作者于2020/10/20 14:22:54编辑过]

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 14:16:00 [只看该作者]

删除bin也没有用。

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


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望: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")

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 14:52:00 [只看该作者]

web是全局变量,可以调用的。

[此贴子已经被作者于2020/10/20 14:53:04编辑过]

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


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

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

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

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2020/10/20 15:07:00 [只看该作者]

网页不能设置全局变量吗?求惑

 回到顶部
总数 16 1 2 下一页