问一个createThread函数的线程函数参数如何传递的问题。
参数类型:
_ParamTOHandleStreamMsgThread=record
addr:TAddress;
PInfo:Pointer;
size:integer;
end;
启动线程的代码:
var
param:_ParamTOHandleStreamMsgThread
begin
...............
..............
param.addr:=addr;
param.PInfo:=pInfo;
param.size:=i;
threadhandle1:=CreateThread(nil,0,@HandleSTREAMMSGThread,@param,0,threadid1);
CloseHandle(threadhandle1);
线程函数:
procedure HandleSTREAMMSGThread(para:_ParamTOHandleStreamMsgThread);stdcall;
begin
slidwin.onRecvMessage(para.addr, para.PInfo, para.size);
//程序运行时,发现para没有被传进来,访问para出错。
end;