PDA

Просмотр полной версии : [Помогите!] Помощь.


masych
10.04.2011, 03:35
1. Все норм, но когда передвигаю форму, цикл сразу ... весь заканчивается. Что не так?

procedure Chikl.Execute;
var
a:integer;
begin
try
for a:=1 to StrToInt (Form1.Edit1.Text) do begin
Form1.memo1.Lines.Add(IntToStr(a));
{sleep (1000)}
end;
finally
terminate;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
x:Chikl;
begin
try
Button1.Enabled:=false;

x:=Chikl.Create(true);
x.FreeOnTerminate:=true;
x.Priority:=tpNormal;
x.Resume;
while not x.Terminated do begin sleep(25); application.ProcessMessages;
end;

finally
Button1.Enabled:=true;
end;
end;

2. Как сделать чтобы цикл по таймеру был из Edit?

Mebius
10.04.2011, 06:55
1. Все норм, но когда передвигаю форму, цикл сразу ... весь заканчивается. Что не так?



2. Как сделать чтобы цикл по таймеру был из Edit?

1 ты про синхронизацию не слышал? плохо учебник читал! работать из потока с формой без синхронизации нельзя!
2 по таймеру паузу потоку выдавай

3 while not x.Terminated do begin sleep(25);
application.ProcessMessages; это вообще должно писаться в потоке, даже не это, а только цикл!