请问线程建立时传一些参数过来用 为什么失败了 线程一开始就用Execute 好像没用过create一样 高手解答!!!type
tmy = class(TThread)
private
protected
procedure Create(我的一些参数);overload;
procedure Execute; override;
end;implementation
procedure tmy.Execute;
begin
//////////////////
end;procedure tmy.Create(我的一些参数);
begin
//////////// 我写东西在这里也没有用
end;end.
tmy = class(TThread)
private
protected
procedure Create(我的一些参数);overload;
procedure Execute; override;
end;implementation
procedure tmy.Execute;
begin
//////////////////
end;procedure tmy.Create(我的一些参数);
begin
//////////// 我写东西在这里也没有用
end;end.
tmy = class(TThread)
private
public
constructor Create(我的一些参数);overload;
procedure Execute; override;
end; implementation
procedure tmy.Execute;
begin
//////////////////
end; constructor tmy.Create(我的一些参数);
begin
//////////// 我写东西在这里也没有用
end; end.
TMyUpdateThread = class(TThread)
private
FUpdateEdit: TEdit;
Counter: Integer;
protected
procedure Execute;override;
procedure Update;
public
constructor Create(const AUpdateEdit: TEdit);
end;
implementationconstructor TMyUpdateThread.Create(const AUpdateEdit: TEdit);
begin
Inherited Create(true);
FUpdateEdit := AUpdateEdit;
Resume;
end;procedure TMyUpdateThread.Update;
begin
FUpdateEdit.Text := IntToStr(Counter);
end;procedure TMyUpdateThread.Execute;begin
Counter := 0;
while Not Terminated do begin
Synchronize(Update);
Sleep(1000);
Inc(Counter);
end;
end;
var
T: TMyUpdateThread;
I: Integer;
begin
T := TMyUpdateThread.Create(Edit1);
try
I := 60 * 1000;
while I > 0 do begin
Application.ProcessMessages;
Sleep(1);
Dec(I);
if Application.Terminated then break;
end;
T.Terminate;
Sleep(1);
finally
T.Free;
end;
end;