c# - 应用程序在 15 分钟后崩溃,WCE 6.0 CF 3.5 Motorola MC3190

标签 c# crash compact-framework windows-ce motorola

我为 WCE(射频终端摩托罗拉 MC3190)创建了应用程序。我的问题是应用程序在运行 15 分钟后崩溃,但没有出现任何错误消息。代码中的异常捕获是不可能的。不管我是否使用应用程序。崩溃后,如果我尝试使用 exe 文件(或其他任何文件)关闭目录,则 Windows 会卡住,几分钟后 RF 会被硬重置。

应用程序通过 TCP 套接字与其他应用程序通信。基于来自其他应用程序的 XML 数据创建 Windows 控件和事件。前 15 分钟(+/- 30 秒)一切正常。这次我没有使用摩托罗拉 EDMK 库。

解决方案的一些想法?

谢谢!

新闻:当我删除此代码时,应用程序停止崩溃。具体删除 Thread.Sleep(1000);有效果。

    //using Symbol.Keyboard;
    delegate void setBoolAlpha(bool alpha);
    public void checkAlpha()
    {
        KeyPad KP = new KeyPad();
        bool alpha = KP.AlphaMode;
        showAlpha(alpha);
        Thread.Sleep(1000);
        checkAlpha();
    }

    public void showAlpha(bool alpha)
    {
        if (this.abc.InvokeRequired)
        {
            setBoolAlpha d = new setBoolAlpha(showAlpha);
            this.Invoke(d, new object[] { alpha });
        }
        else
        {
            this.abc.Visible = alpha; //abc = Control panel
        }    
    }   

最佳答案

需要稍作改动。 CheckAlpha() 作为“IsBackground”线程运行。

delegate void setBoolAlpha(bool alpha);
public void checkAlpha()
{
  while(true)
  {
    KeyPad KP = new KeyPad();
    bool alpha = KP.AlphaMode;
    showAlpha(alpha);
    Thread.Sleep(500);
    //checkAlpha();
    }
  }
}

关于c# - 应用程序在 15 分钟后崩溃,WCE 6.0 CF 3.5 Motorola MC3190,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20068465/

相关文章:

C# - 比 Convert.ToSingle() 更快的替代方法

android - 通过从SharedPreference填充Textview使Android应用程序崩溃

c# - 在 Compact Framework 中设置 LastWriteTime

c# - 如何在 Windows Mobile 中支持不同的屏幕尺寸?

c# - 用 Angular 2 应用程序替换现有的 MVC 项目

c# - 尽管更改分辨率,视频捕获输出始终为 320x240

c# - 尝试将扩展方法与 SortedDictionary 一起使用时出现异常...为什么?

ios - 崩溃 CGDataProviderCreateWithCopyOfData : vm_copy failed: status 1

android - Android 上的 AS3 Air 3.3 应用程序总是在 4 秒后崩溃

c# - 知道谁在失去焦点事件中获得了焦点