以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]Foxtable(狐表)已停止工作 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178653) |
-- 作者:天一生水 -- 发布时间:2022/7/13 21:41:00 -- [求助]Foxtable(狐表)已停止工作 老师好!最新版2022.7.12.1运行源程序出现如图错误,前两个版本也有出现。 已参照论坛介绍的方法卸载foxtable并重装、更换安装目录到F盘、删除源程序的bin目录等,未解决~ 老师看看是什么原因? 问题签名: 问题事件名称:
CLR20r3 问题签名 01:
foxtable.exe 问题签名 02:
2022.7.12.1 问题签名 03:
62cc1180 问题签名 04:
System.Windows.Forms 问题签名 05:
4.8.4110.0 问题签名 06:
5de6dad6 问题签名 07:
2dee 问题签名 08:
181 问题签名 09:
System.ComponentModel.Win32 OS 版本:
6.1.7601.2.1.0.256.1 区域设置 ID:
2052 其他信息 1:
0a9e 其他信息 2:
0a9e372d3b4ad19135b953a78882e789 其他信息 3:
0a9e 其他信息 4:
0a9e372d3b4ad19135b953a78882e789 联机阅读隐私声明: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804 如果无法获取联机隐私声明,请脱机阅读我们的隐私声明: C:\\windows\\system32\\zh-CN\\erofflps.txt --------------------------------------- 运行的代码:(根据已有的日线数据生成月线数据,遍历4200个运行到2000个左右时报错) \'\'\' Dim dm As String \'代码 Dim cn As Integer = 0 \'预设导入个数 Dim dt As Date = Date.Now Dim ltg As Double = Nothing \'流通股 Dim count As Integer = Tables("沪深A股").rows.count \'个数 Dim ddate As Date Dim qsp As Double \'前收盘 Dim spj As Double \'收盘价 Dim y0 As Integer = Date.Today.Year \'当前日的年 Dim m0 As Integer = Date.Today.Month Dim dt0 As New Date(y0, m0, 1) Dim dt00 As New Date(y0, m0, Date.DaysInMonth(y0, m0)) \'获取本月的最后一天 For Each dr As DataRow In DataTables("沪深A股").DataRows If dr.IsNull("代码") = False Then dm = dr("股票代码") ltg = dr("流通股亿") cn += 1 \'个数 Application.DoEvents \'代码即刻生效----耗时 Dim b As New SQLGroupTableBuilder("统计表1", "日线") \'基础数据来自日线 b.C b.Groups.AddDef("代码") b.Groups.AddDef("名称") b.Groups.AddDef("日期", DateGroupEnum.Year, "年") \'根据日期按年分组 b.Groups.AddDef("日期", DateGroupEnum.Month, "月") \'根据日期按月分组 b.Totals.AddDef("成交量") b.Filter = "代码= \'" & dm & "\'and (日期 >= \'" & dt0 & "\' and 日期 <= \'" & dt00 & "\')" \'当前月 b.Build Tables("统计表1").DataTable.DataCols.Add("本月开始", GetType(Date)) Tables("统计表1").DataTable.DataCols.Add("本月结束", GetType(Date)) Tables("统计表1").DataTable.DataCols.Add("日期", GetType(Date)) Tables("统计表1").DataTable.DataCols.Add("涨跌幅", GetType(Double)) Tables("统计表1").DataTable.DataCols.Add("换手率", GetType(Double)) Tables("统计表1").DataTable.DataCols.Add("收盘价", GetType(Double)) Tables("统计表1").DataTable.DataCols.Add("前收盘", GetType(Double)) Tables("统计表1").StopRedraw If Tables("统计表1").Current IsNot Nothing Then Dim r As Row = Tables("统计表1").Current r("本月开始") = dt0 r("本月结束") = dt00 Dim drs As List(Of DataRow) drs = DataTables("日线").SQLSelect("代码 = \'" & dm & "\' And 日期 >= \'" & dt0 & "\' and 日期 <= \'" & dt00 & "\'", "", "日期") If drs.Count > 0 Then ddate = drs(drs.Count - 1)("日期") qsp = drs(0)("前收盘") spj = drs(drs.Count - 1)("收盘价") r("日期") = ddate r("涨跌幅") = (spj - qsp) / qsp * 100 r("收盘价") = spj r("前收盘") = qsp r("换手率") = r("成交量") / (ltg * 1000000) End If End If Tables("统计表1").ResumeRedraw \'MainTable = Tables("统计表1") ’更新月线数据,删除月线表的本月数据 DataTables("股票月线").sqlDeleteFor("代码= \'" & dm & "\' and 日期 > \'" & dt0 & "\' " ) \'删除月线的本月数据,因为可能不是本月最后1日的收盘数据 DataTables("股票月线").RemoveFor("代码= \'" & dm & "\' and 日期 > \'" & dt0 & "\' " ) End If Tables("统计表1").DataTable.DataRows.Clear \'清除且保存 GC.Collect \'释放内存 \'将统计表数据导入到月线表 ...... Next [此贴子已经被作者于2022/7/13 21:53:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/7/14 8:47:00 -- 代码放到什么事件运行的?是不是异步函数? 出现上面的错误窗口的时候,看看任务管理器里程序占用的内存是多少?
|
-- 作者:天一生水 -- 发布时间:2022/7/14 11:55:00 -- 是按钮事件,不是异步函数。 运行时内存占用不大,也很稳定,至出错一直260M左右;CPU占用48%左右。 在腾讯云上运行,net更新到4.8;在本地运行时net是4.6,都有出错。 重复运行两次,一次正常运行到结束;一次运行到10%的个数出错。 出错时截了个图:
[此贴子已经被作者于2022/7/14 12:01:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/7/14 12:06:00 -- 试试改为使用临时表,不要显示到界面 b.Filter = "代码= \'" & dm & "\'and (日期 >= \'" & dt0 & "\' and 日期 <= \'" & dt00 & "\')" \'当前月 dim dt as datatable = b.Build(true) dt.DataCols.Add("本月开始", GetType(Date)) dt.DataCols.Add("本月结束", GetType(Date)) |