继承的线程在创建时报错,什么原因:
constructor TCheckThd.Create(xUser:string;xPwd:string;xIndex:integer);
begin
  inherited Create(True);
  FUserName := xUser;
  FPassWord := xPwd;
  FUsrIndex := xIndex;
  FreeOnTerminate := true;
end;一到第二句就报错各位大神帮忙看看呢

解决方案 »

  1.   

    报什么错??
    改为下面试下:constructor TCheckThd.Create(xUser:string;xPwd:string;xIndex:integer);
    begin
      //inherited Create(True);
      FUserName := xUser;
      FPassWord := xPwd;
      FUsrIndex := xIndex;
      FreeOnTerminate := true;
      inherited Create(True);
    end;
      

  2.   

    如果 Create('1','2',0)  这样直接把字符串写在里面就不报
      

  3.   

    // 我试了,没问题
    unit Unit2;interfaceuses
      Classes;type
      TMyThread = class(TThread)
      private
        FUsrIndex: Integer;
        FUserName: string;
        FPassWord: string;
      protected
        procedure Execute; override;
        procedure foo;
      public
        constructor Create(xUser: string; xPwd: string; xIndex: integer); virtual;
      end;implementation
    uses
      SysUtils, Dialogs;constructor TMyThread.Create(xUser: string; xPwd: string; xIndex: integer);
    begin
      inherited Create(True);
      FUserName := xUser;
      FPassWord := xPwd;
      FUsrIndex := xIndex;
      FreeOnTerminate := true;
    end;procedure TMyThread.Execute;
    begin
      Synchronize(foo);
    end;procedure TMyThread.foo;
    begin
      ShowMessage(Format('FUserName=%s; FPassWord=%s; FUsrIndex=%d', [FUserName,
        FPassWord, FUsrIndex]));
    end;end.// 调用uses
      Unit2;procedure TForm1.btn1Click(Sender: TObject);
    var
      s1, s2: string;
      i: Integer;
      th: TMyThread;
    begin
      s1 := 'sololie';
      s2 := 'sa';
      i := 250;
      th := TMyThread.Create(s1, s2, i);
      th.Resume;
    end;