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