Czy potrzebuję TThreads? Jeśli tak, czy mogę je zatrzymać, wznowić i zatrzymać?
Zawsze zastanawiałem się, czy jest lepszy sposób, w jaki powinienem napisać niektóre z moich procedur, szczególnie tych, których ukończenie zajmuje dużo czasu.
Zawsze uruchamiałem wszystko z głównego wątku GUI, który teraz rozumiem i rozumiem, że jest zły, ponieważ spowoduje, że aplikacja przestanie odpowiadać,Application.ProcessMessages
naprawdę nie pomoże tutaj.
To sprawia, że myślę, że muszę używać TThreads do długich operacji, takich jak na przykład kopiowanie pliku. Zastanawiam się również, w jaki sposób niektóre aplikacje zapewniają pełną kontrolę, np. Pozwalają wstrzymać, wznowić lub zatrzymać operację.
Mam około 3 długich operacji w osobistym projekcie, nad którym pracuję, na których wyświetla się formularz dialogowy z TProgressBar. Chociaż to działa, czuję, że można to zrobić znacznie lepiej. Te okna dialogowe postępu mogą być wyświetlane przez tak długi czas, że możesz anulować operację i zamiast tego zakończyć zadanie później.
Jak powiedziałem, obecnie używam głównego wątku Gui, czy zamiast tego muszę używać TThreads? Nie jestem pewien, jak i gdzie zacząć ich wdrażać, ponieważ wcześniej z nimi nie pracowałem. Jeśli potrzebuję wątków, oferują one to, czego potrzebuję, takie jak wstrzymywanie, wznawianie, zatrzymywanie operacji itp.?
Zasadniczo szukam lepszego sposobu obsługi i zarządzania długimi operacjami.