CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

看下这个问题吧/我的AfxBeginThread有什么不妥?

楼主tiananmen(张三)2003-12-04 20:21:45 在 VC/MFC / 进程/线程/DLL 提问

标     题:   看下这个问题吧,关于线程的。    
   
  声明如下:         UINT   SendData(LPVOID   pParam);    
   
  CWinThread*   pThread=AfxBeginThread(    
                                          SendData,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);    
  这样有什么不妥吗?    
  为什么出现下列提示?    
   
  error   C2665:   'AfxBeginThread'   :   none   of   the   2   overloads   can   convert      
  parameter   1   from   type   'unsigned   int   (void   *)'    
   
  Error   executing   cl.exe.    
   
  我是按照VC6技术内幕上的提示来的啊。    
  问题点数:0、回复次数:11Top

1 楼greensofter(MC.CN)回复于 2003-12-04 21:54:36 得分 0

可能是没有实现函数体  
  UINT   SendData(LPVOID   pParam)  
  {  
        return   0;  
  }  
  Top

2 楼tiananmen(张三)回复于 2003-12-04 23:05:27 得分 0

已经实现了,这个函数在对话矿类里声明应该没错吧?但是为什么不行呢?  
  UINT   SendData(LPVOID   pParam)  
  {  
        return   0;  
  }Top

3 楼greensofter(MC.CN)回复于 2003-12-04 23:09:31 得分 0

要写成全局函数或静态函数  
  Top

4 楼tiananmen(张三)回复于 2003-12-04 23:17:07 得分 0

怎么写成全局函数?在哪里声明?  
  我在对话框类里声明的。Top

5 楼tiananmen(张三)回复于 2003-12-04 23:24:29 得分 0

给个简单例子也好。谢谢。Top

6 楼greensofter(MC.CN)回复于 2003-12-04 23:35:52 得分 0

比如:在.cpp中  
  void   CTestThreadDlg::OnButton1()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  AfxBeginThread(SendData,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);    
   
  }  
   
  UINT   SendData(LPVOID   pParam)  
  {  
        return   0;  
  }  
  在.h中  
  class   CTestThreadDlg   :   public   CDialog  
  {  
  //   Construction  
  public:  
  CTestThreadDlg(CWnd*   pParent   =   NULL); //   standard   constructor  
   
                ……  
  };  
  UINT   SendData(LPVOID   pParam);               //声明在类体外  
  Top

7 楼tiananmen(张三)回复于 2003-12-04 23:50:45 得分 0

那岂不是不能用对话框声明的变量了?  
  传递数据岂不麻烦?Top

8 楼tiananmen(张三)回复于 2003-12-04 23:57:09 得分 0

谢谢了,我已经搞定了,,,,,,,,,,  
   
  这么晚了你还在啊?Top

9 楼greensofter(MC.CN)回复于 2003-12-05 00:00:15 得分 0

AfxBeginThread(SendData,this,THREAD_PRIORITY_NORMAL);   //调用  
  UINT   SendData(LPVOID   pParam)  
  {  
        CTestThreadDlg   *dlg   =   (CTestThreadDlg*)pParam;  
        dlg->m_a   =   0;         //不就可以了吗?关键是把对话框的指针传过来在进行强制转化!  
        return   0;  
  }  
  Top

10 楼tiananmen(张三)回复于 2003-12-05 00:02:23 得分 0

太谢谢了   。。。Top

11 楼lemontreefun(flying)回复于 2003-12-05 11:59:12 得分 0

挺不错的Top

相关问题

  • 这样写有什么不妥吗?
  • 这个Timer控件不断吃掉内存,帮忙看看代码有什么不妥的地方,没解决会续贴!
  • 这是源代码,请指点有什么不妥,多谢!!
  • 用dreamwraver UltraDev 4.0开发JSP网站有什么不妥的吗?
  • <a href="renshiguanli/employee_info.aspx?User_ID=Request.Cookies("UID")" target="main"> 有什么不妥当
  • 看看这个句子有何不妥好吗?
  • 为什么找不到_com_error,我已经加上 #include <comdef.h>了,有何不妥
  • 各位高人请看看我这样定义结构体有什么不妥???
  • 在JSP中这个语句有何不妥?resultset rs;rs = stmt.executeQuery("select count(*) from test");
  • AfxBeginThread()

关键词

  • 函数
  • ctestthreaddlg
  • afxbeginthread
  • lpvoid pparam
  • uint senddata
  • 对话框
  • senddata
  • 声明
  • priority
  • normal

得分解答快速导航

  • 帖主:tiananmen

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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