C# winform中TargetInvocationException 未处理,调用目标发生异常

运行的是程序服务器端,主要是串口轮询,网络通讯,和网口侦听3个功能。启动串口轮询之后,每次有数据过来时都会报这个错误。很是郁闷。长久放置也会这样报错,跪求高手指点,需要哪里的代码说下我会马上贴出来,谢谢了
我发现每次有数据从串口过来的时候,总是在这个insert方法运行完之后就跳到刚才那异常,这个好像关系不大哦,呵呵,上代码:
private void 启动串口轮询ToolStripMenuItem_Click(object sender, EventArgs e) {
if (!protocol1.IsRunning)
{
protocol1.PortName = DAL.Config.SerialPort;
protocol1.Interval = DAL.Config.Interval;
protocol1.FloorRoomList.Clear();
IDataReader dr = DAL.Room.Select("", 0, DAL.RoomType.标准间, "", 0, 3); while (dr.Read())
{
DAL.Room room = new DAL.Room(dr);
protocol1.FloorRoomList.Add((UInt16)room.address);
}
dr.Close();
protocol1.IsRunning = true; }
}
另外我又想起一点,串口轮询是先前写好的,当时是没问题的,加了网口侦听之后就有这样的异常了。
只有这个应该看不出啥吧字数又满了我去

第1个回答  2012-12-07
你图片截取的是最终提示错误的地方,实际出错位置应该是在 mainform中。

查一下你的轮询代码,是不是用的计时器?有没有多线程操作?轮询端口时,端口的打开和释放如何处理的?
打开和释放端口可能有延迟,轮询时怎么判断的?

希望对你有所启发追问

有多线程,我想问题应该在多线程上,给你看下代码,帮我看看吧

涉及到线程的也就这些,还有就是网口侦听里面也有另外一个线程,大侠看看能不能发现什么问题

第2个回答  2013-08-16
代码有限,很难准确定位错误。会不会是多线程导致资源访问出现问题,尝试对线程访问的资源做下并发处理,访问资源时加锁来自:求助得到的回答
第2个回答  2013-08-16
MainFrom 里的代码有错误。检查下你是否在处理串口轮询返回的数据有错误。追问

数据处理貌似没有错,就像上面说的,数据来了运行一个插入方法后就报这个异常了。而且我是先搞定串口轮询用了一阵子之后才写网口侦听的

来自:求助得到的回答
第2个回答  2013-08-16
目测是串口轮询那部分的问题,发下代码追问

嗯,好的,追问的字数有限,我直接在上面补充问题,贴出来代码
麻烦你在看下上面的代码吧,地方不够了,呵呵,担待下,谢谢了

相似回答