Foxtable(狐表)用户栏目专家坐堂 → 写入注册表的开机自动执行的客户端,报错。


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

主题:写入注册表的开机自动执行的客户端,报错。

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


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

1、更新到最新版
2、不要把程序放到桌面,如果只有一个盘,在C盘建一个目录
3、写日志跟踪程序看最后是在做什么操作

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 13:52:00 [显示全部帖子]

计划管理代码发上来看看

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


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

计划管理的间隔多长?建议设置为大于30分钟,小于60分钟

这里加一句代码试试    
MyTimers("刷新").Enabled = False
application.doevents

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


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

执行间隔是40分钟,MyTimers("刷新").Enabled = False这种代码都没有必要了


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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/26 9:28:00 [显示全部帖子]

提示是使用DataTableBuilder创建临时表出错。

把里面用到的4个函数的代码全部发上来。

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/26 10:07:00 [显示全部帖子]

全部改为使用临时的datatable表,如:http://www.foxtable.com/webhelp/topics/1910.htm

刷新租金服务费金额合同状态

Dim htid As String = Args(0)    '合同编号
Dim Vals_r As New List(Of String)
'Dim htid As String = Args(1)    '项目名称
'Dim htid As String = Args(2)    '租赁类别
Dim hc As New HttpClient("http://ls.xinlianhuichuang.com/v1/lshtmx?id=" & htid)
Dim ret As String = hc.GetData()
If ret="" OrElse ret="[]" Then Return Vals_r
    Dim dtb As New DataTableBuilder("明细表")
    dtb.AddDef("合同编号", Gettype(String), 100)
dtb.AddDef("客户名称", Gettype(String), 100)
dtb.AddDef("合同属性", Gettype(String), 20)
    'dtb.AddDef("合同开始日期", Gettype(Date), 20)
'dtb.AddDef("合同终止日期", Gettype(Date), 20)
'dtb.AddDef("起租日期", Gettype(Date), 20)
'dtb.AddDef("签订日期", Gettype(Date), 20)
    dtb.AddDef("项目名称", Gettype(String), 100)
'dtb.AddDef("楼栋名称", Gettype(String), 100)
'dtb.AddDef("房间名称", Gettype(String), 100)
dtb.AddDef("租赁类别", Gettype(String), 100)
dtb.AddDef("合同状态", Gettype(String), 50)
    dtb.AddDef("合同面积", Gettype(Double))
'dtb.AddDef("经手人", Gettype(String), 50)
dtb.AddDef("租金总额", Gettype(Double), 50)
dtb.AddDef("管理费总额", Gettype(Double), 50)
dim dt as datatable =   dtb.Build(true)

For Each ep As JToken In JArray.Parse(ret)
Dim rr As Row=dt.addnew()
rr("合同编号")=ep("合同编号")
rr("合同属性")=ep("合同属性")
'rr("合同开始日期")=ep("合同开始日期")
'rr("合同终止日期")=ep("合同终止日期")
'rr("起租日期")=ep("起租日期")
'rr("签订日期")=ep("签订日期")
rr("项目名称")=ep("项目名称")
'rr("楼栋名称")=ep("楼栋名称")
'rr("房间名称")=ep("房间名称")
rr("客户名称")=ep("客户名称")
rr("租赁类别")=ep("租赁类别")
rr("合同状态")=ep("合同状态")
rr("合同面积")=ep("合同面积")
'rr("经手人")=ep("经手人")
rr("租金总额")=ep("租金总额")
rr("管理费总额")=ep("管理费总额")
    'messagebox.Show("姓名:"  & ep("name").ToString() &  "  年龄:" & ep("age").ToString())
Next

Dim zt As String=dt.compute("sum(租金总额)")
Dim ft As String=dt.compute("sum(管理费总额)")
Dim htzt As String=dt.datarows(0)("合同状态")
Dim khmc As String=dt.datarows(0)("客户名称")
Vals_r.add(zt)
Vals_r.add(ft)
Vals_r.add(htzt)
Vals_r.add(khmc)
Return Vals_r

其它函数自己也相应改改。

另外看了一下大概的逻辑,其实都没有必要创建临时表,直接在json数据的遍历里直接累加求和不就行了

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


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

调用函数出错。项目代码使用了空对象,需要判断一下。看看是做什么操作出现的问题,检查相关代码。

比如如果我们不加上判断,直接:

Dim dr As DataRow
dr = 
DataTables("订单").Find("数量 > 1000","日期 Desc")
Output.Show(
"日期:" & dr("日期"))
Output.Show(
"客户:" & dr("客户"
))

一旦订单表并不存在订购数量超过1000的订单,那么Find方法返回Nothing,导致后续代码运行出错。


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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/19 17:22:00 [显示全部帖子]

目前暂时只能这样:在每个函数的开头或者结尾加一句日志记录函数名称的代码,出错的时候看上一个日志记录什么函数名称

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


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

比如有个函数test,函数里面的代码是

Functions.Execute("v1","开始执行test函数")
test函数的各种逻辑代码
Functions.Execute("v1","结束执行test函数")

 回到顶部