2012年6月11日

使用Invoke\BeginInvoke对Windows窗体控件进行线程安全调用

摘要: 当开启一个工作者线程或者使用TcpClient.BeginConnect异步调用,并在开启的线程中访问windows窗体控件时,会发生异常。异常消息:不是创建该控件的线程来访问".意思就是说:设置UI控件属性时,不能由创建这个UI控件的线程外的其他线程来设置控件的属性。如下代码,在vc2005,vs2008中会出现异常:View Code 1 private void button_Click(object sender, EventArgs e) 2 { 3 Thread thread = new Thread(new ThreadStart(DoWork)); 4 t... 阅读全文

posted @ 2012-06-11 11:07 ActiveChange 阅读(477) 评论(0) 推荐(0) 编辑

VC预编译头文件.PCH

摘要: 预编译头文件(扩展名为.PCH),是为了提高编译效率而使用的一种方法,把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.避免每次编译时去重新编译没有修改的所有文件,这些预先编译好的代码可以是任何的C/C++代码(甚至可以是inline函数)。 如何使用预编译头文件以提高编译速度?要使用预编译头文件,必须指定一个头文件(.H),它包含我们不会经常修改的代码和其他的头文件,然后用这个头文件(.H)来生成一个预编译头文件(.PCH)。VC默认的头文件就是StdAfx.h,因为头文件是不能编译的,所以我们还需要一个.CPP文件来作桥梁,VC默认的文件为StdAfx.cpp,这个文... 阅读全文

posted @ 2012-06-11 10:07 ActiveChange 阅读(2929) 评论(0) 推荐(0) 编辑

导航