我刚继承了Thread类,有一个自定义的create成员,但是每次,运行总是显示没有初始化,请问这是怎么一回事。
TCheckNetThread=class(TThread)
private
  InterVal,StartCount:integer ;
  RetValue:Boolean;
  IpAddr:String;
  //LogObj:TLogoFileThread
  function CheckNet:Boolean;
  //procedure SetInterVal(i:integer);
  procedure HandleProc;
protected
  procedure Execute;override;
public
  constructor Create(i:integer;ip:String);
end;constructor TCheckNetThread.Create(i:integer;ip:string);
begin    InterVal:=i;
    IpAddr:=ip;
    FreeOnTerminate := True;
    inherited Create(True);
end;

解决方案 »

  1.   

    要先Inherited
    不然这时都没分配控件
      

  2.   

    constructor TCheckNetThread.Create(i:integer;ip:string);
    begin    inherited Create(True);    InterVal:=i;
        IpAddr:=ip;
        FreeOnTerminate := True;
    end;
      

  3.   

    多些各位
    还有一个问题是在类声明的过程里我可以再自定义局部变量吗?
    如:
    constructor TCheckNetThread.Create(i:integer;ip:string);
    var
      i:integer
    begin
    ……
    end;
    这个i变量合法吗?如果不对我应该怎样实现。
    还有就是我能在类参数中使用地址传递吗?谢谢