我是新手,一个很简单的线程问题,可惜我没分了. ( 积分: 1 )

  • 主题发起人 主题发起人 32881
  • 开始时间 开始时间
3

32881

Unregistered / Unconfirmed
GUEST, unregistred user!
program Project2;
uses
windows;
procedure ceshi();
begin
sleep(3000);
end;

var
TID: dword;
//程序入口
begin
CreateThread(nil, 0, @ceshi, nil, 0, TID);
end.

procedure ceshi();不运行,,为什么啊?
 
1分就1分了,大家交个朋友吧,我用msn:huangailian123@hotmail.com
能不能具体说清楚是什么不运行,如果提示出错,就把提示的信息贴出来。
还有就是用delphi的file-〉new-〉other(好像是这个)中的线程对象来创建一个新的单元,再引用那个单元以使用多线程试试。
 
还是用TThread封装开发方便,调用API麻烦点!
 
CreateThread(nil, 0, @ceshi, nil, 0, TID);之后加入sleep(2000)测试,然后在ceshi内加入断点就发现可以运行到该函数内。因此原因是CreateThread运行完毕后,主线程就运行完毕。因此子线程就来不及运行了。如果加入sleep就可以。2秒钟的时间足够切换到子线程运行了。
 
谢谢,,测试通过..
 
接受答案了.
 
后退
顶部