![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте!
допустим я создал поток, и хочу, что бы после выполнения кода в нём, он сам уничтожился. К примеру есть поток, в нём цикл... В цикле запросы к вк апи. Нужно что бы после выполнения этого цикла, поток сам себя фришнул. Как мне это сделать? Дописать в теле потока, после цикла Поток.FreeOnTerminate := True; ? Объясните, пожалуйста. |
|
#2
|
|||
|
|||
|
freeOnterminate устанавливается при создании потока. Тогда, как только Execute потока будет выполнен, то поток сам "убъется". Как то так:
Код:
var
t : TMyThread;
begin
t := TMyThread.Create(True);
t.FreeOnTerminate := True;
t.Resume;
end;
// В потоке:
procedure TMyThread.Execute;
var
I : Integer;
begin
For I := 1 to 10 Do
// DoSomething(I)
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Tech N9ne (30.01.2019)
| ||
|
#3
|
|||
|
|||
|
Цитата:
а еще вопрос в догонку, допустим запускаю поток по кнопке.. если я два раза подряд нажму на кнопку(double click), создастся 2 потока, или один и тот же поток начнет работу заного? Или ... ?)) |
|
#4
|
|||
|
|||
|
Создастся 2 потока.
|
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Gareth (25.02.2020)
| ||