RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    hopeseeds (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    hopeseeds (08/22)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    Hideo (08/21)
  • 特定のページが開けない!なんと、コードギアのホームページが開けない・・私のせい?
    QQ (07/18)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    taha (05/30)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    cham (03/27)
  • 第8回 CodeGearデベロッパーキャンプ開催!
    cham (03/27)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    ふみちゃん (03/25)
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--

Delphi Holic (HopeSeeds blog)

「Delphi Holic」は、ホープシーズ製品の紹介、
Delphi、Kylix、Lazarusなどの情報を上げていきます。
<< Delphiコンポーネント:FlashEngine | main |
メールチェックなどで、エラーメッセージ回避
 DelphiのIndyコンポーネントを使いながら、例えば、定期的なチェックを行わなければならない、メールチェック(受信ボックスに何通入っているかだけ把握するたぐい)などをする際、通信障害など起こった時、いちいち、エラーメッセージが出ていてはうざったい。

2点でエラーが出ることがわかった。
(1)スリープから復帰する時に、「例外 Connection Closed Gracefully」が出る。
(2)通信断の時に出る、Socketエラー

まず、(1)は、下のURLに情報があった。
・エラーはないはずなのに 例外 Connection Closed Gracefully が出る
デバッカオプション で言語固有の例外より情報を追加するだけだ。追加してその項目にチェックをはずすと、出なくなった。
try except on E : Exception do でも回避できそうな気がするが、楽なので、こちらを採用。

次に(2)は、下記の様に記述した。
uses IdStack を追加する。

var
 FMsgCount:Integer;
begin
try
try
 if IdPOP31.Connected then IdPOP31.Disconnect;

 IdPOP31.Connect;
  FMsgCount := IdPOP31.CheckMessages;
  Label_MailChk.Caption := '最新メール= '+Inttostr(FMsgCount)+' 件';

 except
  on E:EIdSocketError do
   //エラーが起こった時の処理   
   //if E.LastError=10060 then //HTTPのソケットエラー
   if E.LastError=11004 then //POP3のソケットエラー
  end;
 finally
  //絶対行いたいコードを書く
 end;




 
| Delphi Holic | 17:16 | comments(0) | trackbacks(0) | - | - |









http://delphiholic.hopeseeds.com/trackback/514005