| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4232 人关注过本帖
标题:大家好,请教 DELPHI API 多线程中传递多个参数写法。
只看楼主 加入收藏
lsgzs
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-11-2
收藏
 问题点数:0 回复次数:2 
大家好,请教 DELPHI API 多线程中传递多个参数写法。

大家好,请教个问题。

DELPHI中api创建多线程怎么传递多个参数



getf(a,b:Tarr);

BeginThread(nil,0,@getf,nil,0,Tid);

getf(a,b:Tarr);这里的A和B是个动态数组

该怎么写。
搜索更多相关主题的帖子: 多线程 动态 
2014-06-16 09:33
haiou327
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:22
专家分:107
注 册:2009-4-26
收藏
得分:0 
Tarr = array of Byte;
  pr = record
    ta, tb: Tarr;
  end;
  PPr = ^pr;
var
  h: THandle;

Procedure getf(p: PPr); stdcall;
begin
  Form1.Button1.Caption := Format('Ta:%d+1,   Tb:%d+1', [High(P.ta), High(P.tb)]);
  Dispose(P);
  ExitThread(0);
end;

procedure Tform1.Button1Click(Sender: TObject);
var
  pc: PPr;
  tid: Cardinal;
begin
  New(pc);
  SetLength(PC.ta, 10);
  SetLength(pc.tb, 12);
  try
    h := createThread(nil, 0, @getf, pc, 0, Tid);
  finally
    if h <> 0 then CloseHandle(h);
  end;
end;

[ 本帖最后由 haiou327 于 2014-6-23 21:35 编辑 ]
2014-06-23 17:09
lsgzs
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-11-2
收藏
得分:0 
以下是引用haiou327在2014-6-23 17:09:09的发言:

Tarr = array of Byte;
  pr = record
    ta, tb: Tarr;
  end;
  PPr = ^pr;
var
  h: THandle;
 
Procedure getf(p: PPr); stdcall;
begin
  Form1.Button1.Caption := Format('Ta:%d+1,   Tb:%d+1', [High(P.ta), High(P.tb)]);
  Dispose(P);
  ExitThread(0);
end;
 
procedure Tform1.Button1Click(Sender: TObject);
var
  pc: PPr;
  tid: Cardinal;
begin
  New(pc);
  SetLength(PC.ta, 10);
  SetLength(pc.tb, 12);
  try
    h := createThread(nil, 0, @getf, pc, 0, Tid);
  finally
    if h <> 0 then CloseHandle(h);
  end;
end;

感谢您的帮忙,我一阵子没上论坛。看到您的帮助。感谢。

驱动级SOCKS5,每个进程不同IP。驱动级注入,支持任何联网进程。QQ1289671197
2014-10-23 21:05
快速回复:大家好,请教 DELPHI API 多线程中传递多个参数写法。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033856 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved