请教CreateThread()函数的用法

apices 2002-12-30 10:50:47
DWORD threadid1;
CreateThread(NULL,0,Form1->TextOut1(),NULL,0,threadid1);

其中TextOut1()是自己定义的一个函数,可是编译通不过,不知道有什么问题......
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
apices 2002-12-30
  • 打赏
  • 举报
回复
谢谢kingfish(八百里秦川@龙城异客),按照你的方法,编译已经没有问题,不过偶的TextOut1函数应该是在(20,20)处输出文字,但是点击button后没有反应,是不是TextOut1函数有问题?麻烦帮偶看一看……

DWORD __stdcall TextOut1(LPVOID)
{
HDC DC;
long i;
String s;
DC=GetDC(Application->Handle);
for(i=1;i<100001;++i)
{
s=IntToStr(i);
SetBkColor(DC,clLtGray);
TextOut(DC,20,20,s.c_str(),s.Length());
Sleep(40);
}
ReleaseDC(Application->Handle,DC);
return 0;
}
apices 2002-12-30
  • 打赏
  • 举报
回复
TextOut1()在头文件中是这样:
private:
void TextOut1();

在.cpp文件中是这样:
void TForm1::TextOut1()
{
……
}
kingfish 2002-12-30
  • 打赏
  • 举报
回复
DWORD __stdcall test(LPVOID)
{
MessageBox(NULL,"Just a test","test",MB_OK);
return 0;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
DWORD threadid1;
CreateThread(NULL,0,test,NULL,0,&threadid1);
}
kingfish 2002-12-30
  • 打赏
  • 举报
回复
上面可能也不对,函数不知道你怎么定义的
CreateThread(NULL,0,yourfunction,NULL,0,&threadid1);

kingfish 2002-12-30
  • 打赏
  • 举报
回复
至少两个错误吧
CreateThread(NULL,0,&Form1->TextOut1,NULL,0,&threadid1);

kingfish 2002-12-30
  • 打赏
  • 举报
回复
可能是TextOut问题

DWORD __stdcall TextOut1(LPVOID)
{
HDC DC;
long i;
String s;
DC=GetDC(Application->Handle);
for(i=1;i<10;++i)
{
s=IntToStr(i);
SetBkColor(DC,clRed);
// TextOut(DC,200,200,s.c_str(),s.Length());
Form1->Canvas->TextOut(20,20,s.c_str()); //这样可以
Sleep(40);
}
ReleaseDC(Application->Handle,DC);
return 0;
}

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧