Запуск Потока Из Таймера, Как?

  • Автор темы buket
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

buket

#1
не получается запустить потоки из таймера, при создании потока из кнопки все работает
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
MyThread:=TMyThread.Create(False);
MyThread.Priority:=tpNormal;
MyThread.FreeOnTerminate:=true;
end;
при запуске из таймера не запускается(таймер включен на 15 секунд)
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
MyThread:=TMyThread.Create(False);
MyThread.Priority:=tpNormal;
MyThread.FreeOnTerminate:=true;
end;
 

sinkopa

Well-known member
17.06.2009
344
4
#2
не получается запустить потоки из таймера, при создании потока из кнопки все работает
при запуске из таймера не запускается(таймер включен на 15 секунд)
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
MyThread:=TMyThread.Create(False);
MyThread.Priority:=tpNormal;
MyThread.FreeOnTerminate:=true;
end;
Не может такого быть... Только что проверил у себя. Прекрасно запускается, отрабатывает и умирает...
Ищите проблему "внутри" метода Execute. Подозреваю, что Вы пытаетесь там "работать" с визуальными контролами формы созданной в основном потоке.
Это можно делать только через Synchronize (почитайте в хелпе)
 
Статус
Закрыто для дальнейших ответов.