DelphiでTThreadを使っていると、「スレッドエラー:ハンドルが無効です。(6)」というエラーが生成されることがあります。
FreeOnTerminateが設定されているとなぜか起こる場合がよくあるので、もしFreeOnTerminate = Trueで使っている場合は、Falseに切り替え、外部からThreadにFreeをかけるようにすると直るときがあります。
C++ Builder XE4でも出た。
FreeOnTerminateはtrueで使わない方がいいのだろうか?
自分が見た感じでは、std::unique_ptr<>を使った時にこのエラーがでる。
std::unique_ptr<>を使うのをやめにして、new, deleteをいちいち行うと出なくなる感じ。
FreeOnTerminateとstd::unique_ptr<>どちらを使うのをやめるのがシンプルだろうか?