请各位高手帮个忙看看:
程序执行到CreateIt中的Synchronize(InitEdit);就停在此处不动作了!
如果将此句注释掉,则UpdateEdit;的ED_T.Text:=IntToStr(CostTime);语句可正常执行,
(说明参数传递正常了。)这是为什么啊?和CreateIt中的什么有关呢?
先谢谢了!!!unit MyThread;interfaceuses
  Windows, SysUtils,Classes,StdCtrls,Dialogs;type
  TMyThread = class(TThread)
  private
    { Private declarations }
    ED_T:TEdit;
    procedure InitEdit;      //初始化Edit
    procedure UpdateEdit;  //修改Edit
  protected
    procedure Execute; override;
  published
    constructor CreateIt(ED:TEdit);
    destructor Destroy;override;
  end;implementation
uses Unit_TwoThread;//------------------------------------------------------------------------------
constructor TMyThread.CreateIt(ED:TEdit);
var  a1:String;
begin
   inherited Create(true);
   FreeOnTerminate := true;
   a1 := ED.Text;
   ED_T := ED;
   Synchronize(InitEdit);-------执行到此句出错,程序停在此处不动作了!
   Suspended:=false;
end;
//------------------------------------------------------------------------------
procedure TMyThread.InitEdit;   //初始化Edit
begin
   ED_T.Text := ' ';
end;
//------------------------------------------------------------------------------
procedure TMyThread.UpdateEdit;  //修改Edit
var CostTime:integer;
    StartTicker,EndTicker:integer;
    i,j:integer;
begin    StartTicker := GetTickCount;
    i:=0;
    for i:=0 to 10000 do
    begin
        CostTime:=GetTickCount-StartTicker;
        ED_T.Text:=IntToStr(CostTime);
    end;end;
//------------------------------------------------------------------------------
procedure TMyThread.Execute;
begin
  { Place thread code here }
    Synchronize(UpdateEdit);end;
//------------------------------------------------------------------------------
destructor TMyThread.Destroy;
begin
   //PostMessage(Form1.Handle,wm_ThreadDoneMsg,self.ThreadID,0);
   
   inherited destroy;
end;end.