IdSMTP を使用しており、TIdSMTP コンポーネントをフォームで動的に作成/破棄しています。ほとんどの場合、smtp.Connect に問題はありませんが、メイン UI がスタックして応答しなくなる状況があることがわかりました。
ConnectTimeout および ReadTimeout プロパティを追加しましたが、それでも同じ問題が発生します。アプリケーションが応答しなくなり、強制的にプロセスを強制終了します。
smtp.ConnectTimeout := 10000;
smtp.ReadTimeout := 10000;
smtp.Connect;
if smtp.Connected then
begin
smtp.Send(Mess);
smtp.Disconnect;
end
idstmp コントロールによって発生している stmp にバインドされた OnStatus イベントがあります。
しかし、なんらかの理由で、Connect によってアプリケーションが解放され、応答しなくなります。