CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VC.NET

2003里可以运行的,为什么在2005(.net 2.0)里出了异常?

楼主jxw(酷)2006-03-16 20:56:18 在 .NET技术 / VC.NET 提问

我在模块dll里开了线程,用事件的办法试图传出数据进行处理,处理的时候使用了外部程序的控件对象。在2003里使用的好好的,但是我移植到2005(.net   2.0)中就出了问题,每次在从模块里触发的事件里使用控件时,就报了异常:Cross-thread   operation   not   valid:   Control   '###'   accessed   from   a   thread   other   than   the   thread   it   was   created   on.   请问高手,这是为何?  
  难道我只能通过外部程序的界面事件才能使用这些外部的控件么?或者我应该对模块dll做什么设置?还望答复。 问题点数:50、回复次数:5Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-03-16 23:28:20 得分 20

不要跨线程直接UI类型的东东,应该向由线程发送消息,然后由主线程负责处理。Top

2 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-17 03:39:24 得分 10

http://blog.joycode.com/jiangsheng/archive/2006/03/15/72919.aspxTop

3 楼lhx1977(清水无鱼)回复于 2006-03-17 07:48:20 得分 20

在线程中操作原来窗体上的控件,要使用委托的。  
  Top

4 楼jxw(酷)回复于 2006-03-17 14:38:43 得分 0

谢谢阿。  
  解决问题了。的确需要   委托   ,但是主要是用委托来将函数封装传给(invoke)窗体主线程,由主线程进行调用,进行回调。  
  我想,这样是用来保证界面窗体使用的线程安全。Top

5 楼wjlsmail(小脖领)回复于 2006-04-20 15:32:29 得分 0

markTop

相关问题

  • 运行出现异常(急)
  • 800里加急!!!!!!!伴随远程控制tomcat运行异常问题
  • Runtime运行CMD抛出的异常
  • 运行时发现此异常:IllegalArgumentException
  • 程序运行环境改变后,运行异常.
  • vc里,编译连接都没错误,但运行出现异常错误一般是什么原因?
  • 编译后的运行文件在运行时出现异常,与PB下运行不一致。
  • QuickReport动态加载lab Dbtext的问题函数里的循环运行第2次就异常了,附全部代码。
  • 以下程序,为什么运行时出现异常错误?
  • faint,单步运行没有问题,执行时却报异常

关键词

  • .net
  • 控件
  • 模块
  • 线程
  • 窗体
  • 主线程
  • 使用
  • 处理
  • 事件
  • thread

得分解答快速导航

  • 帖主:jxw
  • DentistryDoctor
  • jiangsheng
  • lhx1977

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo