Pod spodem jest kawałek kodu który dziala bez problemu ale mam pytanie jeżeli chcę jeszce raz robić to samo w osobnym okienku w nowym wątku to jak odpalić drugi wątek, nigdzie nie mogę się tego doczytać, wszyscy piszą o wielowątkowości, o synchronizacji ale nie doczyałem jak najlepiej odpalić drugi wątek ?
pozdrAS
TWatek = class(TThread)
private
// procedure MyOnTerminate(Sender: TObject);
protected
procedure Execute; override;
end;
TWatek = class(TThread)
private
// procedure MyOnTerminate(Sender: TObject);
protected
procedure Execute; override;
end;
var
Form1: TForm1;
Pierwszy: TWatek;
implementation
{$R *.dfm}
{ TForm1 }
procedure TWatek.Execute;
var
i : integer ;
n : integer ;
begin
FreeOnTerminate :=True; // po zakończeniu zwolnij klasę
n:=0;
Randomize;
Form1.Label1.Caption:=(' Zaczynam ');
Form1.Label1.Update;
While not Terminated do
begin
Inc(n);
i:=Random(10000000);
Form1.Label1.caption:= (IntToStr(i) );
Form1.Label1.Update;
Form1.Memo1.Lines.Add( 'Jestem w ' + IntToStr(n) +' petli');
sleep(10);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Pierwszy.Terminate;
close();
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Pierwszy:=Twatek.Create(False);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Pierwszy.Suspend;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Pierwszy.Resume
end;