eigentlich ganz einfach ... PS: notfalls mal in den Code gucken
ACompletionHandler: TCompletionHandler = nil
ASynchronized: boolean = True
AFreeThread: boolean = True
ACompletionHandlerWithError: TCompletionHandlerWithError = nil
Result: TRESTExecutionThread
alle Parameter kann man ignorieren, wenn man sie nicht braucht (wenn nur OnAfterExecute, dann kann alles leer bleiben)
ACompletionHandler = anonyme Ereignis-Methode alternativ/zuzüglich zum OnAfterExecute
ACompletionHandlerWithError (aka AErrorHandler) = ähnlich wie Erstes ... ohne=wenn erfolgreich /
mit=wenn Abfrage
nicht erfolgreich
ASynchronized = CompletionHandler mit oder ohne Error sind synchronisiert (nur die beiden Methoden, nicht das Event OnAfterExecute)
AFreeThread = Auto-Free des internen TThread ... oder du speicherst dir das Result und gibst es am Ende selbst frei (selbst: NIEMALS innerhalb der Ereignismethoden)
Request.SynchronizedEvents = das "Synchronized" für OnAfterExecute
Request.OnHTTPProtocolError = ähnlich ACompletionHandlerWithError