博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单用CreateThread传递自定义参数
阅读量:6331 次
发布时间:2019-06-22

本文共 758 字,大约阅读时间需要 2 分钟。

1. 声明一个Record类
type
 MyData
=
record
  title:pchar;
  str:string;
  num:Integer ;
 
end
;
PMyData
=
^MyData;

 2. 线程函数像这样写

Function ThreadProc(Para:PMyData):integer;stdcall;
begin
 result:
=
0
;
  Form1.Canvas.TextOut(
10
,
10
,Format(
'
%s,%s,%d
'
,[Para^.str,Para^.title,para^.num ]));
end
;

 3.写下传递过程呗

procedure
 TForm1.btnClick(Sender: TObject);
var
  Ro:PMyData ;
  hThread: THandle;
  ThreadID: DWORD;
begin
  getmem(p,sizeof(p));
//
分配内存
  hThread:
=
0
;
try
  Ro.title:
=
'
我的自定义参数
'
;    
//
数据分配
  Ro.str:
=
'
测试成功
'
;
  Rp.num :
=
 
100
;
  hThread:
=
createthread(
nil
,
0
,@ThreadProc,Ro,
0
,ThreadID);
finally
  
if
 hThread
<>
0
 
then
 closehandle(hThread);
  
if
 Ro
<>
nil
 
then
 freemem(Ro);
end
;
end
;

好了,这样就可以传递到自己的参数了,如下图:

 

 

转载于:https://www.cnblogs.com/rogee/archive/2010/09/19/1831091.html

你可能感兴趣的文章
PBRT笔记(4)——颜色和辐射度
查看>>
CustomView的手势缩放总结
查看>>
linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
查看>>
CentOS yum安装mysql
查看>>
OceanBase笔记1:代码规范
查看>>
[Algorithms] Longest Increasing Subsequence
查看>>
MAC下GitHub命令操作
查看>>
springboot之filter/listener/servlet
查看>>
uGUI练习 开篇
查看>>
【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
查看>>
关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)
查看>>
用浮动IP实现高可用性,待续
查看>>
Strom(0.9.3)配置
查看>>
Python之Paramiko、前端之html学习_Day14
查看>>
HDU 3836 Equivalent Sets
查看>>
深入理解JVM读书笔记思维导图
查看>>
String字符串位置移动
查看>>
MySQL无法插入中文的解决方案
查看>>
react16 渲染流程
查看>>
Android游戏与应用开发最佳学习路线图
查看>>