在VB6平台是没有多线程这一说的,而VB.NET有了这个概念,这样对于同步模块化操作是很方面的.
可是同样也存在着问题.跨线程操作COM有时候会异常.
托管程序~~~每一个线程都有上下文,主线程(或者说创建控件的线程)操作COM控件是没问题的.
但是其他线程就不行了,可能会引发异常.
但是有一个叫"托管调用"的函数---invoke,使得跨线程操作是安全的.
比如说一个控件在FORM里,一个线程(非主线程)去操作这个控件,就需要invoke调用FORM的函数再去操作(自写函数),这样就安全了.
MSDN上是这样写的,看的我迷迷糊糊
本文探讨了在VB.NET环境下进行跨线程操作COM组件时可能遇到的问题及解决办法。通过使用Invoke方法可以确保非主线程安全地操作由主线程创建的控件。
3295

被折叠的 条评论
为什么被折叠?



