初学多线程,求高手指点
2011-07-21 15:36
218 查看
function MyFun(p:Pointer):Integer;stdcall;
var
i:Integer;
begin
for i := 0 to 90000 do
begin
MessageBox(0,'aaa','fdsf',MB_OK); //线程函数体里只可以执行函数,不可以执行过程;
ShowMessage('aa'); //所以执行这句会出错;
//因为,ShowMessage是过程体,MessageBox是函数体;按Crtl键加鼠标左点单击查看原形就知道;
Form1.Canvas.TextOut(10,10,IntToStr(i));
Sleep(2);
end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
Id:DWORD;
begin
HTheard := CreateThread(nil,0,@MyFun,nil,CREATE_SUSPENDED,Id);
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
ResumeThread(HTheard); //执行线程;就是开始;
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
SuspendThread(HTheard); //挂起线程;也就是暂停;
end;
var
i:Integer;
begin
for i := 0 to 90000 do
begin
MessageBox(0,'aaa','fdsf',MB_OK); //线程函数体里只可以执行函数,不可以执行过程;
ShowMessage('aa'); //所以执行这句会出错;
//因为,ShowMessage是过程体,MessageBox是函数体;按Crtl键加鼠标左点单击查看原形就知道;
Form1.Canvas.TextOut(10,10,IntToStr(i));
Sleep(2);
end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
Id:DWORD;
begin
HTheard := CreateThread(nil,0,@MyFun,nil,CREATE_SUSPENDED,Id);
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
ResumeThread(HTheard); //执行线程;就是开始;
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
SuspendThread(HTheard); //挂起线程;也就是暂停;
end;
相关文章推荐
- 初学C者,望各位高手指点!
- 从现在开始学习一下在 Office 平台上进行开发一些简单的应用程序,欢迎有从事这方面的高手和同道指点交流。
- 请高手指点
- 求高手指点
- 求高手指点
- 浅谈Socket长连+多线程[原创,欢迎指点]
- 初学Java多线程:用Thread类创建线程
- VC下载的问题,请高手指点
- 初学Java多线程:线程的生命周期
- java测试题请各位高手多多指点
- 6-3 平面坐标点类(欢迎高手指点评论)
- 求高手指点
- 高手指点PHP星期几获取方法
- 64位电脑安装了32位win7系统后明显变慢,为什么?请高手指点
- 5. 初学Java多线程:join方法的使用
- 我的一个模拟内存分配的小程序,还存在些Bug,希望高手能够指点!
- c#初学-多线程中lock用法的经典实例
- WIN XP HOME & IIS的问题,请高手指点,多谢!
- 几道面试题,求高手指点
- 培训笔记2--望高手指点错误之处