Pochwalony!
MAm sobie takiego problema: otóż...
Czytałem sobie ksiząkę i natrafiłem na takie coś jak wątki. Zrobiłem sobie programika doświadczalnego, ale nie wiedziałem niestetuy czy zwalnia pamięć (Po kliknięciu pierwszego buttona włączał się wątek który zmieniał wartość label'a na x + 1 > 10000 :):):), a drugi button miał to stopować :P ). Noi tutaj pojawiły się przeszkody. Po włączeniu pierwszego, a następnie drugiego buttona z pięć razy program mi tak jakby kasował label'a i sam się zawieszał, tak, aż czasami Debugger nie potrafił go do ładu doprowadzić. Podam jeszce kodzik:
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Tya = class(TThread)
private
procedure MyOn(Sender: TObject);
public
protected
procedure Execute; override;
end;
var
Form1: TForm1;
Watek: Tya;
implementation
{$R *.dfm}
{ Tya }
procedure Tya.Execute;
var
T: Integer;
begin
FreeOnTerminate := True;
OnTerminate := MyOn;
for T := 0 to 10000 do
Form1.Label1.Caption := IntToStr(T);
end;
procedure Tya.MyOn(Sender: TObject);
begin
ShowMessage('koniec');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Watek := Tya.Create(False);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Watek.Resume;
end;
Czy ktoś zrozumiał moje pytanko?? :P:P:P Czy ktoś zna na nie odpowiedź?? :P:P:P To proszę o pomoc!! :P:P:P
Pozdrowienia KiteK