1

IdHTTP コンポーネントがあり、HTTP エラー (404 など) が発生すると、Indy はメッセージ ボックスを表示します。この「サイレント」を処理し、Indy がこれを表示しないようにしたいと考えています。

これをオフにするパラメータが見つかりませんでした。何か案は?

4

1 に答える 1

1

Indy はメッセージ ボックスを表示しません。例外をスローします。VCL/FMX フレームワーク内にはデフォルトの例外ハンドラがあり、コードで例外がキャッチされない場合にメッセージ ボックスをユーザーに表示します。したがって、コードで例外をキャッチするだけです。たとえば、次のようになります。

try
{
    IdHTTP1->Get(...);
}
catch (const Exception &)
{
    // do something...
}

例外フィルタリングをより細かく制御する必要がある場合、すべての Indy 固有の例外は から派生しEIdException、多くの子孫 ( などEIdHTTPProtocolException)があります。

try
{
    IdHTTP1->Get(...);
}
catch (const EIdHTTPProtocolException &)
{
    // an HTTP error occured, do something...
    // details about the HTTP error are in the exception object
}
catch (const EIdException &)
{
    // a non-HTTP Indy error occured, do something else...
}
catch (const Exception &)
{
    // some other error occured, do something else...
}
于 2015-03-10T19:22:57.570 に答える