问一个createThread函数的线程函数参数如何传递的问题。

myth_2002 2006-02-24 11:37:15
参数类型:
_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;
...全文
156 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
myth_2002 2006-02-24
  • 打赏
  • 举报
回复
ok,谢谢哦,原来这么简单
myth_2002 2006-02-24
  • 打赏
  • 举报
回复
哦,谢谢getit911,俺试试去
myth_2002 2006-02-24
  • 打赏
  • 举报
回复
来个人,帮帮忙啊
getit911 2006-02-24
  • 打赏
  • 举报
回复
PParamTOHandleStreamMsgThread = ^_ParamTOHandleStreamMsgThread;

HandleSTREAMMSGThread(para:PParamTOHandleStreamMsgThread)

para^.应该可以访问

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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