WorkToolSmith

Delphi スレッドエラー:ハンドルが無効です。(6) の対処

太田アベル

・ 1分で読めます

当サイトの記事には一部に広告リンクが含まれます。

DelphiでTThreadを使っていると、「スレッドエラー:ハンドルが無効です。(6)」というエラーが生成されることがあります。

FreeOnTerminateが設定されているとなぜか起こる場合がよくあるので、もしFreeOnTerminate = Trueで使っている場合は、Falseに切り替え、外部からThreadにFreeをかけるようにすると直るときがあります。

Execute内でSleepを使っていたり、重い処理などを行っている場合によくある感じです。

ただ、ものすごい単純なスレッドでもなるため、根本的な原因は不明です。

メインスレッドとのタイミングの違いかな?

どちらにしろデバッガでも原因が出ないため直しにくいエラーです。

太田アベル

太田アベル

パソコンを7歳からいじり始めて40年。とにかくパソコンが好きです。気になった商品をほぼ自腹で買いまくってレビュー中!良かった点、悪かった点をズバズバ書きます。

𝕏 でフォロー プロフィールを見る

こちらもおすすめ