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


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

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

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/10/9 9:02:00 [只看该作者]

application.doevents  这句代码有什么用啊?帮助里没有查到相关的用法啊。

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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2019/10/9 9:14:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/1476.htm

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/11/26 9:20:00 [只看该作者]

自动执行的计划事件(每天0点执行,每40分钟执行一次计划)报错,异常捕获信息和计划代码见附件。帮看看怎么回事吧。谢谢!
单独执行一遍计划管理的代码,没有报错。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:mmsglog.txt

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计划管理代码.txt


[此贴子已经被作者于2019/11/26 9:20:59编辑过]

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


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

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

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

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/11/26 9:52:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | 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数据的遍历里直接累加求和不就行了

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2020/3/19 10:56:00 [只看该作者]

异常捕获如下:是怎么会事啊啊,谢谢。

2019-12-23 10:33:50.0636
调用的目标发生了异常。
   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.UserFunctions.Execute(String Name, Object[] Args)
未将对象引用设置到对象的实例。
   在 UserCode.AIgIZCeP6tkGb8CpG(Object[] Args)

2020-03-19 10:44:29.5790
调用的目标发生了异常。
   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.UserFunctions.Execute(String Name, Object[] Args)
未将对象引用设置到对象的实例。
   在 UserCode.AIgIZCeP6tkGb8CpG(Object[] Args)

2020-03-19 10:44:31.2109
调用的目标发生了异常。
   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.UserFunctions.Execute(String Name, Object[] Args)
未将对象引用设置到对象的实例。
   在 UserCode.AIgIZCeP6tkGb8CpG(Object[] Args)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | 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,导致后续代码运行出错。


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2020/3/19 16:56:00 [只看该作者]

我看了代码,大概都进行是否为空的判断了,里面的自定义函数好几个,有办法捕获到 哪个函数哪一句代码调用数据库中哪条数据时报的错吗?

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


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

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

 回到顶部
总数 22 上一页 1 2 3 下一页