L'uso dei thread è la scelta giusta, ma apparentemente hai condiviso, più o meno volontariamente, qualche risorsa tra i due thread pertanto, nonostante siano separati, si arriva comunque alla condizione in cui uno deve attendere la fine dell'altro. Hai usato per caso metodi quali Synchronize? (fa parte della classe base dalla quale derivano tutti i thread, sia in Delphi che in C++Builder).
Ciao!![]()