我为WCE创建了应用程序(RF终端Motorola MC3190)。我的问题是,运行15分钟后的应用程序崩溃没有一些错误消息。代码中没有异常捕获是可能的。无论我是否使用应用程序。崩溃之后,如果我尝试使用exe文件(或其他任何东西)关闭目录,那么Windows会冻结,几分钟后RF就会被严重重置。
应用程序通过TCP套接字与其他应用程序通信。基于来自其他应用程序的XML数据创建Windows控件和事件。一切都好,前15分钟(+/- 30秒)。这次我没有使用motorola 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
}
}
答案 0 :(得分:1)
有必要进行一些改变。 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();
}
}
}