Viel Zeit ist vergangen, und der gute Chau Chee-Yang hat einen kleinen Artikel drüber geschrieben:
https://gist.github.com/ccy/af37f997...a4a26918883202
Ich verstehe das so:
TComponent bietet
BeginInvoke(): IAsyncResult
(plus ein paar Überladungen) sowie analog
EndInvoke(): IAsyncResult
. Nur
TComponent
, sonst erst einmal keiner.
Das ganze macht im Endeffekt nicht mehr als ein
TThread.Queue(nil, (…))
.
Viel Mehrwert sehe ich nicht, außer dass man z.B. abfragen kann ob die übergebene Prozedur bereits ausgeführt wurde oder man kann z.B. blockierend drauf warten.
Aber einen wirklichen Fall wo es mir etwas bringt sehe ich ehrlich gesagt immer noch nicht 🤔