以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 编译函数不执行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157546) |
-- 作者:lihe60 -- 发布时间: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 -- 发布时间:2020/10/20 14:03:00 -- 原来是可以用的,现在突然不能用了。 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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 -- 发布时间:2020/10/20 14:15:00 -- Functions.Remove("test") 先删除再添加也不能执行。 [此贴子已经被作者于2020/10/20 14:22:54编辑过]
|
-- 作者:lihe60 -- 发布时间:2020/10/20 14:16:00 -- 删除bin也没有用。 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2020/10/20 14:52:00 -- web是全局变量,可以调用的。 [此贴子已经被作者于2020/10/20 14:53:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/10/20 15:02:00 -- wb定义为全局变量,然后不同网页都使用这个变量?强大的脑洞!!然后给自己挖了一个强大的坑!! 网页对象都应该是互相独立的,如果使用全局变量,会导致不同网页的内容互相纠缠。
|
-- 作者:lihe60 -- 发布时间:2020/10/20 15:07:00 -- 网页不能设置全局变量吗?求惑 |