X
xiyuezhang
Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中,线程的参数传递
我在一个unit中对IdMessage 和IdSMTP的相关属性进行赋值
type
SendEmail = class(TThread)
private
{ Private declarations }
FIdSMTP:TIdSMTP;
FIdMessage:TIdMessage;
protected
public
constructor Create(IdSMTP:TIdSMTP;IdMessage:TIdMessage);
end;
implementation
constructor SendEmail.Create(IdSMTP:TIdSMTP;IdMessage:TIdMessage);
begin
FIdSMTP:=IdSMTP;
FIdMessage:=IdMessage;
inherited Create(False);
FreeOnTerminate:=True;
end;
……
假如有IdSMTP1,IdMessage1 对它们的属性进行赋值 并且IdSMTP1与服务器建立了连接
然后SendEmail.Create(IdSMTP1;IdMessage1);
那么thread的execute里所使用的IdSMTP,IdMessage都具有之前的属性值吗?
可以解释具体过程吗?
我在一个unit中对IdMessage 和IdSMTP的相关属性进行赋值
代码:
SendEmail = class(TThread)
private
{ Private declarations }
FIdSMTP:TIdSMTP;
FIdMessage:TIdMessage;
protected
public
constructor Create(IdSMTP:TIdSMTP;IdMessage:TIdMessage);
end;
implementation
constructor SendEmail.Create(IdSMTP:TIdSMTP;IdMessage:TIdMessage);
begin
FIdSMTP:=IdSMTP;
FIdMessage:=IdMessage;
inherited Create(False);
FreeOnTerminate:=True;
end;
……
代码:
然后SendEmail.Create(IdSMTP1;IdMessage1);
那么thread的execute里所使用的IdSMTP,IdMessage都具有之前的属性值吗?
可以解释具体过程吗?