C#多线程,未将对象引用设置到对象的实例
主线程里第一次响应执行这句没问题,但是再次响应执行就报错“未将对象引用设置到对象的实例”。子线程里有对lbResult的操作,仅是lbResult.Items.Add方法...
主线程里第一次响应执行这句没问题,但是再次响应执行就报错“未将对象引用设置到对象的实例”。子线程里有对lbResult的操作,仅是lbResult.Items.Add方法。
try
{
//显示框初始化
lbResult.Items.Clear();
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}
catch(Exception ex)
{ }
程序太长,粘不全。
privatevoid btnScan_Click(object sender, System.EventArgs e)
{
try
{
//显示框初始化
lbResult.Items.Clear();
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"tishi");
}
//创建线程,并创建ThreadStart委托对象
process = new Thread(new ThreadStart(PortScan));
process.Start();
} 展开
try
{
//显示框初始化
lbResult.Items.Clear();
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}
catch(Exception ex)
{ }
程序太长,粘不全。
privatevoid btnScan_Click(object sender, System.EventArgs e)
{
try
{
//显示框初始化
lbResult.Items.Clear();
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"tishi");
}
//创建线程,并创建ThreadStart委托对象
process = new Thread(new ThreadStart(PortScan));
process.Start();
} 展开
8个回答
展开全部
不能再子
线程里有对lbResult的直接操作,要换个方法:ibResult.invok(new
EventHandler(delegate{
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}))
)
线程里有对lbResult的直接操作,要换个方法:ibResult.invok(new
EventHandler(delegate{
lbResult.Items.Add("端口扫描器 v1.1.0_zj");
lbResult.Items.Add("");
}))
)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议设置断点逐语句调试一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出现这个异常不是对象没有实例化就是对象为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
肯定是有个对象在不同条件下 为实例化出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是 第一次用了后资源没有释放,第二次用的时候就找不到了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询