运行C#几十分钟后计时器出错

问题描述 投票:1回答:1

我是C#的新手,我只是为了个人学习而编程,我一直在尝试编写一个指令,从远程站读取一些数据到我的应用程序(m64...mw74),它运行了几分钟,但它的崩溃也许在5分钟后,请看下面的代码,我使用每1秒更新我的数据,并将其写入我的表格中的一个简单的文本框。请在这里输入图片描述

先谢谢你了。

private void Load_act()
    {
      actvalueL1.Text = plc.Read("mw64").ToString();
      actvaluep1.Text = plc.Read("mw68").ToString();
      actvaluep2.Text = plc.Read("mw71").ToString();
      actvaluep3.Text = plc.Read("mw74").ToString();

      InitTimer();
    }

    private Timer timer1;
    public void InitTimer()
    {
        timer1 = new Timer();
        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Interval = 1000; // in miliseconds
        timer1.Start();
        //Console.ReadLine();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        Load_act();
    }
c# loops time crash fault
1个回答
0
投票

你把定时器链起来,最终会把自己的内存用完,因为它们无法处置--定时器用自己的调用创建下一个。将它们返回到一个父方法,循环你的定时器'initTimer'。

© www.soinside.com 2019 - 2024. All rights reserved.