Foxtable(狐表)用户栏目专家坐堂 → [求助]Foxtable(狐表)已停止工作


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

主题:[求助]Foxtable(狐表)已停止工作

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]Foxtable(狐表)已停止工作  发帖心情 Post By:2022/7/13 21:41:00 [只看该作者]

老师好!最新版2022.7.12.1运行源程序出现如图错误,前两个版本也有出现。
已参照论坛介绍的方法卸载foxtable并重装、更换安装目录到F盘、删除源程序的bin目录等,未解决~
老师看看是什么原因?


图片点击可在新窗口打开查看此主题相关图片如下:00000.jpg
图片点击可在新窗口打开查看

问题签名:
  问题事件名称: 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("股piao代码")
        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("股piao月线").sqlDeleteFor("代码= '" & dm & "' and 日期 > '" & dt0 & "' " ) '删除月线的本月数据,因为可能不是本月最后1日的收盘数据
        DataTables("股piao月线").RemoveFor("代码= '" & dm & "' and 日期 > '" & dt0 & "' " )
        
    End If
    Tables("统计表1").DataTable.DataRows.Clear '清除且保存
    GC.Collect '释放内存   
    
    '将统计表数据导入到月线表
    ......

    
Next




[此贴子已经被作者于2022/7/13 21:53:01编辑过]

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/14 8:47:00 [只看该作者]

代码放到什么事件运行的?是不是异步函数?

出现上面的错误窗口的时候,看看任务管理器里程序占用的内存是多少?

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2022/7/14 11:55:00 [只看该作者]

是按钮事件,不是异步函数。
运行时内存占用不大,也很稳定,至出错一直260M左右;CPU占用48%左右。
在腾讯云上运行,net更新到4.8;在本地运行时net是4.6,都有出错。
重复运行两次,一次正常运行到结束;一次运行到10%的个数出错。
出错时截了个图:

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2022/7/14 12:01:22编辑过]

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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))

 回到顶部