Dies ist zwar theoretisch aber ich habe bei genau sowas schon die kotzenden Pferde gesehen.
Bis du dann dem Entwickler dediziert beschreiben und vor allem nachweisen kannst, dass da was falsch läuft - gute Nacht Marie
Ahh danke für die Erläuterung, jetzt sehe ich das Problem auch. Habe eben schon ein DeadLock gefixt, da kann ich dir nur zustimmen: Bist man sowas zuverlässig reproduziert und gefunden hat, kann schonmal einige Zeit vergehen.
Den Comparer werde ich mir mal anschauen. Muss zugeben, dass ich mit den Generic Klassen von Delphi bisher kaum gearbeitet habe. Das Comperator Konzept ist mir allerdings von Java her bekannt. Prinzipiell könnte ich für die "WaitQueue" ja aber auch meine alte Lister weiter verwenden.
Eine Frage noch zu deinem Ansatz:
Du deklarierst die SendDataPacket Funktion als protected im IOHandler. Die Funktion muss allerdings vom Thread heraus aufgerufen werden. Ich weiß zwar, dass ein Zugriff (sogar auf private) Felder innerhalb der selben
Unit klassenübergreifend möglich ist, aber meiner Meinung nach ist das eher schlechter Stil oder nicht?