创建线程失败(20分)

  • 主题发起人 主题发起人 数据狂
  • 开始时间 开始时间

数据狂

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
; ;hThread:Thandle; ;//定义一个句柄
; ;ThreadID:DWord;
begin
; //创建线程,同时线程函数被调用
; hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID);
; if hThread=0 then
; ; messagebox(Handle,'Didn’t Create a Thread',nil,MB_OK);
end;
检查语法错误,在
; hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID);
行上,说缺少变量,为什么?(在第二个nil上)。
 
你的线程函数MyThreadfunc怎么写的?
 
这么写的:
function Tform1.MyThreadFunc(P:pointer):Longint;stdcall;
var
; ;i:integer;
; ;DC:HDC;
; ;S:string;
begin
; ; ;DC:=GetDC(Form1.Handle);
; ; ;for i:=0 to 100000 do begin
; ; ; ; ;S:=Inttostr(i);
; ; ; ; ;Textout(DC,10,10,Pchar(S),length(S));
; ; ;end;
; ; ;ReleaseDC(Form1.Handle,DC);
end;
 
调试通过,没有错误。

function MyThreadFunc(P:pointer):Longint;stdcall;
var
; ;i:integer;
; ;DC:HDC;
; ;S:string;
begin
; ; ;DC:=GetDC(Form1.Handle);
; ; ;for i:=0 to 100000 do begin
; ; ; ; ;S:=Inttostr(i);
; ; ; ; ;Textout(DC,10,10,Pchar(S),length(S));
; ; ;end;
; ; ;ReleaseDC(Form1.Handle,DC);
end;

procedure TForm1.UsedThreadClick(Sender: TObject);
var
; ;hThread:Thandle;//定义一个句柄
; ;ThreadID:DWord;
begin
//创建线程,同时线程函数被调用
; hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID);
; if hThread=0 then
; ; messagebox(Handle,'Didn’t Create a Thread',nil,MB_OK);
end;
 
数据狂的错误在于,MyThreadFunc 定义为TForm1的类方法了,要把它脱出来作为单独的函数
 
同意pipi的建议
 

Similar threads

I
回复
0
查看
547
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
479
import
I
I
回复
0
查看
603
import
I
后退
顶部