Wenn Du auf 'is' abfragst, kannst Du hart casten. Das Pattern
Delphi-Quellcode:
if (foo is TBar) then
TBar(foo)....
// Ist genauso sicher wie(aber wesentlich schneller als)
if (foo is TBar) then
(foo as TBar)....
Zusätzlich sollte man noch darauf hinweisen (auch wenn es eigentlich selbstverständlich ist), das ein Thread in seiner Execute-Methode 'immer mal wieder' auf 'Terminated' prüfen sollte, d.h. auch in inneren Schleifen. Die 'Terminate' Methode beendet den Thread nämlich überhaupt nicht, sondern setzt nur das Flag 'Terminated' auf True.
Die Methode sollte also besser heißen: 'TerminateRequest', oder auf deutsch: 'SachDenFredErSollSichMaBeendenAberErMussDasSchonA uchMerkenNe';