Delphiでネットワーク関連のアプリを書いていたところ、ネットワークが切断している上体で、Indyコンポーネントがとあるエラーを投げてくることを確認。
エラーの型はEIdSocketError。
さっそくそれを捉えるために、try..except文を書く。
とすると、ビルドを通らない。どうやらEIdSocketError型が定義されていないってことらしい。
で、早速Indyのヘルプを検索。
すると、
てなことらしく、IdExceptionをuses節に追加。
ここまでは良かった。
が、ビルドを通らない!IdEceptionは確かにusesしているはずなのに、何度やってもビルドを通らない!
ネット上にも解決策がなかったので、Indyのソースを検索。
すると、どうやらEIdSocketErrorはIdStackで定義されているらしい。
あじなまねを。。。!!!
uses IdStack;として解決。
ドキュメントとソースの不一致に悩まされるとはこのことか。
エラーの型はEIdSocketError。
さっそくそれを捉えるために、try..except文を書く。
on E:EIdSocketError do ...
とすると、ビルドを通らない。どうやらEIdSocketError型が定義されていないってことらしい。
で、早速Indyのヘルプを検索。
すると、
EIdSocketError
Exception raised for Socket errors.
EIdSocketError = class(EIdException)
Unit
IdException
Description
EIdSocketError is an EIdException descendant that represents an exception class raised when a general socket error occurs. EIdSocketError is used to represent non-protocol specific socket errors that originate from the protocol stack, and provides the LastError property to reflect the numeric error number.
てなことらしく、IdExceptionをuses節に追加。
ここまでは良かった。
が、ビルドを通らない!IdEceptionは確かにusesしているはずなのに、何度やってもビルドを通らない!
ネット上にも解決策がなかったので、Indyのソースを検索。
すると、どうやらEIdSocketErrorはIdStackで定義されているらしい。
あじなまねを。。。!!!
uses IdStack;として解決。
ドキュメントとソースの不一致に悩まされるとはこのことか。
0 件のコメント:
コメントを投稿