解决方案 »
- 一个跟线程同步类似的问题,请各位帮帮看看出错原因
- 关于mscomm串口通讯读取接收缓冲区数据量的问题
- VS2003的网络编程问题
- **请教:VC编译出来的ocx控件,不能在pb中注册?怎么回事啊**********
- 播放*.asf文件
- setupfactory制作安装程序始终出错的问题!!!
- 请问WINDOWS泄露出来的源代码是用什么写的??
- win98造字程序中所造的字保存后怎么在各种输入法中调用?请高手指点!!!!
- 如何shell系统功能
- 关于CTreeCtrl
- VC++2010为啥控件的可用事件不显示呢
- activex 证书制作工具makecert.exe cert2spc.exe signtool.exe打不开
你这个StartPort不是CString的嘛,怎么这么玩?还有你的问题是啥呀?
CString 在传入工作线程之前已经转换为int型(在OnScanBtn()函数的前几行)。
问题就是:工作者线程UINT ThreadProc(LPVOID pParam)函数有问题!请指教下!
int EndPort = ptp->ePort;
HWND hWnd = ptp->hWnd;
请问,你的ptp->hWnd是多少?你根本没给hWnd赋值啊!还有,你在线程中PostMessage(hWnd, WM_USER_THREAD_FINISHED, (WPARAM)Port, 0),由于PostMessage的滞后性,你发送的port值有可能不是同步的!
我重新修改了下,还是有问题,我把东西上传了。
请帮忙修改下,谢谢了!
http://download.csdn.net/download/xdelete/4496111
我下午找了本看了下,但是介绍得太少。我又改动了下:for (UINT i = 0; i <= nThreadNum; i++)//nThreadNum 为最大线程数,默认200
{
AfxBeginThread((AFX_THREADPROC)ThreadProc, (LPVOID)ptp);//线程开始
}将for 迭代注释后,并将结构体型ptp转换成LPVOID型传入线程即可运行起来,并得到正确结果!
但是我想控制线程的数量,该怎么办?
我最开始想法的用这个for 迭代控制线程数量。
请指教!