ПредишенСледващото

Добре дошли!
Може ли да каже как да се завърши поток по време на работа, когато формата е затворен.

На въпрос прикачения файл. Изтегляне "(срок на годност: 60 дни, считано от датата на издаване)

Здравейте, Shouldercannon!
Има два начина - правилното попълване и завършването на извращение. Вторият метод включва убиване на потока, но го убие "зверски" и няма гаранция, че основната програма ще оцелее. Ето защо, този метод не се препоръчва. (Поглежда)

Правилният начин е, че потокът трябва самият той завърши. За да направите това, потоци delfovskoy изпълнение са прекратили кутия. Тема трябва от време на време се провери тази област, за да е вярно и ако е така, то трябва да приключи работата си (по принцип - просто почистване на своите ресурси и да предизвика излизане).

А тези, които се нуждаят от нея да тече отново, просто причинява. Но няма гаранция, че потокът след като приключи (поток все още трябва да се достигне, проверка състояние, завършено). Ако искате да се изчака приключването на потока, пишем така
Но ние трябва да разберем, че чакайте - блокиране на работа и ще забави вашия интерфейс (но ако потокът е завършена бързо, няма проблем).

издадат мини-форум

За предпочитане е правилният извод.
Отново Тъжа грешка. Нещо ми липсваше, но какво от това?

Изложил DownLoader_Thread.FreeOnTerminate: = True. след това се обадете деструктор вече не е необходимо за нишката е. Защото самата Delphi това ще доведе за вас. И тъй като там е призив чакайте, а след това от времето, когато се обадите на деструктор, той ще се нарече.

В допълнение, има една глоба специфичност. Ако зададете FreeOnTerminate: = Вярно е, че OnTerminate нишка се нарича в контекста на потока. Ако фалшива, а след това в контекста на нишката, която е предизвикала безплатно.

Tick ​​"прочете потвърждение" - универсален зло.

Подкрепете проекта - споделете линка, благодаря!