Benötige ich TThreads? Wenn ja, kann ich sie anhalten, fortsetzen und anhalten?

Ich habe mich immer gefragt, ob es einen besseren Weg gibt, einige meiner Verfahren zu schreiben, insbesondere solche, deren Abschluss lange dauert.

Ich habe immer alles vom Haupt-GUI-Thread ausgeführt, was ich jetzt verstehe und merke, dass es schlecht ist, weil die Anwendung dadurch nicht mehr reagiert.Application.ProcessMessages wird hier nicht wirklich helfen.

Aus diesem Grund denke ich, ich muss TThreads für längere Vorgänge verwenden, z. B. zum Kopieren einer Datei. Ich frage mich auch, wie manche Anwendungen Ihnen die volle Kontrolle geben, z. B. können Sie den Vorgang anhalten, fortsetzen und / oder stoppen.

Ich habe ungefähr 3 lange Operationen in einem persönlichen Projekt, an dem ich arbeite und in dem ich ein Dialogformular mit einer TProgressBar anzeige. Während dies funktioniert, denke ich, könnte es viel besser gemacht werden. Diese Fortschrittsdialogfelder können so lange angezeigt werden, dass Sie den Vorgang möglicherweise abbrechen und den Auftrag später beenden möchten.

Muss ich, wie gesagt, zur Zeit den Haupt-GUI-Thread verwenden, stattdessen TThreads? Ich bin nicht sicher, wie oder wo ich mit der Implementierung beginnen soll, da ich vorher noch nicht mit ihnen gearbeitet habe. Wenn ich Threads benötige, bieten sie das an, was ich benötige, z. B. Anhalten, Fortsetzen, Stoppen eines Vorgangs usw.?

Grundsätzlich suche ich nach einer besseren Möglichkeit, langwierige Operationen zu handhaben und zu verwalten.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage