DELPHI 线程怎样传递参数?
不知道哪里出的问题,传递后Edit1.Text显示空白,请高手指点一下,不想用CreateThread,源码如下:typepstr=^string;varForm1:TF...
不知道哪里出的问题,传递后Edit1.Text显示空白,请高手指点一下,不想用CreateThread,源码如下:
type
pstr = ^string;
var
Form1: TForm1;
th1: cardinal;
h1: Integer;
implementation
{$R *.dfm}
procedure showw(s: pstr);
begin
Form1.Edit1.Text := s^;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
pp: pstr;
s: string;
begin
s := '95588';
pp := @s;
//showw(pp); //这么传就能显示
h1 := BeginThread(nil, 1024, @showw, pp, 0, th1); //这么传就是空白
end; 展开
type
pstr = ^string;
var
Form1: TForm1;
th1: cardinal;
h1: Integer;
implementation
{$R *.dfm}
procedure showw(s: pstr);
begin
Form1.Edit1.Text := s^;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
pp: pstr;
s: string;
begin
s := '95588';
pp := @s;
//showw(pp); //这么传就能显示
h1 := BeginThread(nil, 1024, @showw, pp, 0, th1); //这么传就是空白
end; 展开
3个回答
展开全部
你得这么写,就嗖的一声传过去。
procedure TForm1.Button1Click(Sender: TObject);
var
pp: pstr;
begin
new(pp); //新的屁屁
pp^ := '95588';
h1 := BeginThread(nil, 1024, @showw, pp, 0, th1);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
pp: pstr;
begin
new(pp); //新的屁屁
pp^ := '95588';
h1 := BeginThread(nil, 1024, @showw, pp, 0, th1);
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
继承一个 TThread 增加点属性什么的,想传什么传什么
C:\Program Files\Borland\Delphi7\Demos\Threads
里面还有很多demos,基本能解决你的问题
C:\Program Files\Borland\Delphi7\Demos\Threads
里面还有很多demos,基本能解决你的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用指针之前要先申请内存空间.
在看一下^和@符号的使用方法!
在看一下^和@符号的使用方法!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询