Das passiert schon. Sobald eine EOutOfResources auftritt, beendet sich der entsprechende Thread und macht Luft für die anderen.
Allerdings schwankt das Datenaufkommen und deshalb sollen die Threads wieder erhöht werden, wenn es möglich ist. Nach einer gewissen Zeit werden die Threads also wieder nach und nach gestartet. Bis es wieder knallt.
Funktioniert, wie gesagt ausgezeichnet, mal von dem kleinen Speicherleck abgesehen.
Am Schluss eines Laufs, gibt das Programm eine Empfehlung, wie viele Threads man künftig verwenden sollte aber das behebt das Problem ja nun nicht wirklich.
Du meinst also, dass die
Exception an sich keinen Speicher verschludert. Kann natürlich sein, dass TBitmap32.Draw die
Exception zu spät wirft und nicht alles freigibt, was bis dahin passiert ist. Werde ich mal erforschen.
Danke schon mal.