首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

学习线程时遇到GetClientRect编译不过,该如何解决

2013-01-25 
学习线程时遇到GetClientRect编译不过好久没有编程了。。。今天要用到线程的一个功能,拿起书来学习一下,光碟

学习线程时遇到GetClientRect编译不过
好久没有编程了。。。
今天要用到线程的一个功能,拿起书来学习一下,光碟上的例子完全没有问题,但我新建一个,依样画瓢照抄,但在编译时没有通过,提示GetClientRect参数不对:
[BCC32 Error] ThreadFormUnit.cpp(20): E2034 Cannot convert 'void *' to 'HWND__ *'
[BCC32 Error] ThreadFormUnit.cpp(20): E2342 Type mismatch in parameter 'hWnd' (wanted 'HWND__ *', got 'void *')
例子中没有多少行代码,但我反复对照也找不出有什么不同,下面的复制过来的:

#include <vcl.h>
#pragma hdrstop

#include "ThreadFormUnit.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TThreadForm *ThreadForm;
HANDLE Thread;

DWORD WINAPI ThreadFunc(LPVOID Param)
{
   HANDLE MainWnd(Param);

   RECT R;
   GetClientRect(MainWnd, &R);
  
   ...
}
  
对照光碟的程序,连所有控件的名称都改相同还是不行,源程序是BCB5的,我用在RAD2010上,源程序可以编译过。
[解决办法]
工程选项中的某些设置有差异。
ThreadFormUnit.cpp的第20行附近是什么代码?

热点排行