Vaya, pesimo de mi parte
El metodo TThread.Execute deberia estar en la seccion protegida de la clase
Código Delphi
[-]
TIpWorker = class(TThread)
strict private
FSocket: TClientSocket;
FOnWorkFinish: TIpWorkerEvent;
procedure SetOnWorkFinish(const Value: TIpWorkerEvent);
protected
procedure Execute; override;
public
constructor Create(const AAdress: string; AOnFinish: TIpWorkerEvent);
destructor Destroy; override;
property OnWorkFinish: TIpWorkerEvent read FOnWorkFinish write SetOnWorkFinish;
end;
Y nunca deberiamos llamar a Execute directamente, sino
Start
Código Delphi
[-]
for i := 1 to 255 do
begin
LWorker := TIpWorker.Create(base + IntToStr(I), OnWorkFinish);
LWorker.Start;
end;