Joar, was soll ich dazu sagen?
Es handelt sich um eine Thread-Klasse, welche allerdings auf die Form gepappt werden kann.
Den Vorfahren dieser Klasse nutze ich eigentlich schon eine Weile und nun wurde alles nochmals komplett neu ausfgesetzt.
Auch in Delphi in XE hatte Emba mir (und Anderen) schon die Grundidee geklaut und mit
TThread.CreateAnonymousThread eine Procedur bereitgestellt, womit man einen TThread starten kann, ohne dafür extra eine eigene TThread-Klasse implementieren zu müssen.
So, ich ging nun noch einen Schritt weiter, denn die Variante mit der Prozedur hat einen "kleinen" Nachteil, denn man kann einige Features nicht nutzen.
> So ist es z.B. nicht möglich an die Exceptionbehandlung ranzukommen, so daß Exceptions schnell mal einfach so verschwinden, wenn man es nicht selber verabfängt.
Leider wucks dadurch meine eigene Funktion mit unübersichtlichen Parametern.
Auch bietet die Embas Variante des AnonymousThread keine wirklich vorgesehehne threadsicherr Möglichkeit diesen Thread dann wieder abzubrechen.
Jetzt pappt man also diese Klasse auf seine Form und, wie bei einem TTimer, wird dann die Execute-Methode implementiert.
Alternativ kann man das Teil auch komplett ohne Executemethode nutzen (kann beide Modi aber auch mischen ... siehe Demo) und über eine integrierte Queue lassen sich externe Befehle in diesem bereitgestellten Thread synchronisiert parallelisieren ... ein kleiner Worker-Thread also.
...
k.A. was ich noch sagen könnte.
Und
Fotos Screenshots gibt's auch keine.
[add]
Ach ja, die SE-Version ist für ältere Delphi gedacht (falls da was nicht geht, einfach melden)
und das andere
Package ist für ab D2010.