第 十 三 章 使 用 PO P 控 件

第 十 三 章 使 用 PO P 控 件 - 图1第 十 三 章 使 用 PO P 控 件 - 图2第 十 三 章 使 用 PO P 控 件 - 图3第 十 三 章 使 用 PO P 控 件 - 图4第 十 三 章 使 用 PO P 控 件 - 图5C+

  • Bu i ld e r 3 从 N e t M a n a g e 公 司 引 进 了 PO P 控 件 用 于 从 支 持 PO P 3 协 议 的 服务 器 包 括 运 行 UN IX 的 主 机 检 索 邮 件 PO P 控 件 支 持 身 份 验 证 登 录 能 够 检索 用 户 邮 箱 信 息 如 邮 箱 中 有 几 封 信 等 PO P 控 件 还 能 够 直 接 在 服 务 器 上 删 除邮 件

1 3. 1 PO P 控 件 的 特 性

A tta c h F ile P a th 特 性

第 十 三 章 使 用 PO P 控 件 - 图6声 明 p ro p e r ty A tta c h F ile P a th : s tr in g ;

第 十 三 章 使 用 PO P 控 件 - 图7第 十 三 章 使 用 PO P 控 件 - 图8第 十 三 章 使 用 PO P 控 件 - 图9这 个 特 性 用 于 指 定 存 放 附 件 的 路 径 如 果 设 为 空 表 示 是 当 前 目 录

B y te s R ecv d 特 性

第 十 三 章 使 用 PO P 控 件 - 图10声 明 prope r ty B y te s R e c vd: long in t;

第 十 三 章 使 用 PO P 控 件 - 图11第 十 三 章 使 用 PO P 控 件 - 图12这 个 特 性 返 回 已 接 收 了 多 少 个 字 节 与 B y te s T o ta l特 性 配 合 使 用 可 以 显 示 传输 的 进 度

B y te s Tota l 特 性

第 十 三 章 使 用 PO P 控 件 - 图13声 明 prope r ty B y te s T o ta l : long in t;

第 十 三 章 使 用 PO P 控 件 - 图14这 个 特 性 返 回 本 次 传 输 总 共 有 多 少 个 字 节

C o n n ecte d 特 性

第 十 三 章 使 用 PO P 控 件 - 图15声 明 prope r ty C onne c te d : boo le a n ;

第 十 三 章 使 用 PO P 控 件 - 图16第 十 三 章 使 用 PO P 控 件 - 图17第 十 三 章 使 用 PO P 控 件 - 图18如 果 已 经 与 PO P3 服 务 器 连 接 这 个 特 性 就 返 回 T ru e 程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 ::B u tto n 1 C lic k ( T O b je c t∗ Se n d e r )

{

if ( N M P O P 31-> C o n n e c te d != true )

{

N M P O P 31-> P ort = 110;

N M P O P 31-> U s e r ID = " E d" ;

N M P O P 31-> P a s s w o rd = " S m i th " ; N M P O P 31-> C on n e c t( ) ;

L a be l 1 0-> C a p t ion = " # of M e ss a g e s : " + In t T o S tr ( N M P O P 31-> M a i l C ou n t) ;

}

}

D e le te O n R e a d 特 性

第 十 三 章 使 用 PO P 控 件 - 图19声 明 prope r ty D e le te O n R e a d : boo le a n ;

第 十 三 章 使 用 PO P 控 件 - 图20第 十 三 章 使 用 PO P 控 件 - 图21如 果 这 个 特 性 设 为 T ru e 当 邮 件 被 下 载 后 就 从 服 务 器 中 删 掉

H o s t 特 性

第 十 三 章 使 用 PO P 控 件 - 图22声 明 prope r ty H o s t: S tr ing;

第 十 三 章 使 用 PO P 控 件 - 图23第 十 三 章 使 用 PO P 控 件 - 图24这 个 特 性 用 于 指 定 PO P 3 服 务 器 的 主 机 名 或 IP 地 址 如 206 .155 .164 .2 0

Lo c a l I P 特 性

第 十 三 章 使 用 PO P 控 件 - 图25声 明 prope r ty L o c a l IP : S tr ing ;

第 十 三 章 使 用 PO P 控 件 - 图26第 十 三 章 使 用 PO P 控 件 - 图27第 十 三 章 使 用 PO P 控 件 - 图28第 十 三 章 使 用 PO P 控 件 - 图29这 个 特 性 返 回 客 户 计 算 机 的 IP 地 址 ( 点 分 法 ) 如 果 计 算 机 有 多 个 IP 地 址 这个 特 性 返 回 其 中 第 一 个 程 序 示 例 如 下

vo id _ fa s tc a l l T F orm 1 : : B u tton9C l ic k ( TO b je c t ∗ Se n d e r )

{

S h o w M e s sag e(" Y o u r lo c a l IP A d d ress is " + N M P O P 3 1 -> L o cal IP ) ;

}

M a il C o u n t 特 性

第 十 三 章 使 用 PO P 控 件 - 图30声 明 p ro p e r ty M a ilC o u n t: S m a llin t;

第 十 三 章 使 用 PO P 控 件 - 图31第 十 三 章 使 用 PO P 控 件 - 图32第 十 三 章 使 用 PO P 控 件 - 图33第 十 三 章 使 用 PO P 控 件 - 图34这 个 只 读 的 特 性 返 回 用 户 邮 箱 中 有 几 封 信 注 意 此 特 性 只 有 在 通 过 了 身份 验 证 之 后 才 是 有 效 的 此 前 访 问 这 个 特 性 是 非 法 的

M a il M e s s a g e 特 性

第 十 三 章 使 用 PO P 控 件 - 图35声 明 prope r ty M a il M e s s a ge : T M a il M e s s a ge ;

第 十 三 章 使 用 PO P 控 件 - 图36第 十 三 章 使 用 PO P 控 件 - 图37调 用 了 G e tM a ilM e s s a g e 函 数 后 这 个 特 性 返 回 检 索 到 的 邮 件 信 息

第 十 三 章 使 用 PO P 控 件 - 图38第 十 三 章 使 用 PO P 控 件 - 图39T M ail M es s a g e 是 一 个 类 其 中

  • 第 十 三 章 使 用 PO P 控 件 - 图40第 十 三 章 使 用 PO P 控 件 - 图41A

    tta c h m e n ts 这 是 个 T S trin g L is t对 象 包 含 接 收 到 的 附 件 名 称

  • 第 十 三 章 使 用 PO P 控 件 - 图42第 十 三 章 使 用 PO P 控 件 - 图43Bo

    d y 这 是 个 T S trin g L is t对 象 包 含 接 收 到 的 邮 件 正 文

  • 第 十 三 章 使 用 PO P 控 件 - 图44F ro

    m 这 是 发 件 人 的 E - M a i l地 址

  • 第 十 三 章 使 用 PO P 控 件 - 图45第 十 三 章 使 用 PO P 控 件 - 图46H

    ead 这 是 个 T S trin g L is t对 象 包 含 接 收 到 的 邮 件 头 标

  • M e ssa g e Id 这 是 邮 件 的 识 别 号 如

第 十 三 章 使 用 PO P 控 件 - 图473587A 72E . 8928F 0D 5@ pub lic .e a s t.c n .n e t

  • 第 十 三 章 使 用 PO P 控 件 - 图48第 十 三 章 使 用 PO P 控 件 - 图49S

    ub je c t 这 是 邮 件 的 主 题程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 ::B u tto n 3 C lic k ( T O b je c t ∗ Se n d e r )

{

N M P O P 3 1 -> G e t M a ilM e s sa g e ( S tr T o In t( E d it5 -> T e x t) ) ; E d i t 6 -> T e xt = N M P O P 31-> M a i l M e s sa ge -> F rom ;

E d i t 7 -> T e xt = N M P O P 31-> M a i l M e s sa ge -> S u b je c t ;

E d i t 9 -> T e xt = N M P O P 31-> M a i l M e s sa ge -> M e s s a g e ID ;

M e m o2-> L in e s -> A s s ign ( N M P O P 31-> M a i l M e s sa ge -> H e a d ) ; M e m o1-> L in e s -> A s s ign ( N M P O P 31-> M a i l M e s sa ge -> B ody ) ; if ( N M P O P 3 1 -> M a ilM e s s a g e -> A tta c h m e n ts -> T e x t != " " )

S how M e s sa g e (" A t ta c h m e n ts \ n" + N M P O P 31-> M a i l M e s sa ge -> A t ta c h m e n ts -> T e x t) ;

}

Pa s sw o r d 特 性

第 十 三 章 使 用 PO P 控 件 - 图50声 明 prope r ty P a s s w ord: W ide S tr ing;

第 十 三 章 使 用 PO P 控 件 - 图51这 个 特 性 用 于 设 置 登 录 到 PO P 3 服 务 器 时 的 口 令

Po r t 特 性

第 十 三 章 使 用 PO P 控 件 - 图52声 明 prope r ty P o r t: L ong in t;

第 十 三 章 使 用 PO P 控 件 - 图53第 十 三 章 使 用 PO P 控 件 - 图54这 个 特 性 用 于 指 定 要 连 接 的 PO P 3 服 务 器 的 端 口 号 默 认 是 110

R e m o te I P 特 性

第 十 三 章 使 用 PO P 控 件 - 图55声 明 prope r ty R e m o te IP : s tr ing ;

第 十 三 章 使 用 PO P 控 件 - 图56第 十 三 章 使 用 PO P 控 件 - 图57这 个 特 性 返 回 PO P3 服 务 器 的 IP 地 址 ( 点 分 法 ) 程 序 示 例 如 下

vo id _ fa s tc a l l T F orm 1 : : B u tton9C l ic k ( TO b je c t ∗ Se n d e r )

{

S how M e s sa g e (" C urre n tly c o n n e c te d to : " + N M P O P 31-> R e m o te IP ) ;

}

R e p o r t L e v e l 特 性

第 十 三 章 使 用 PO P 控 件 - 图58声 明 prope r ty R e po r t L e ve l : in te ge r ;

第 十 三 章 使 用 PO P 控 件 - 图59第 十 三 章 使 用 PO P 控 件 - 图60第 十 三 章 使 用 PO P 控 件 - 图61第 十 三 章 使 用 PO P 控 件 - 图62第 十 三 章 使 用 PO P 控 件 - 图63第 十 三 章 使 用 PO P 控 件 - 图64第 十 三 章 使 用 PO P 控 件 - 图65第 十 三 章 使 用 PO P 控 件 - 图66这 个 特 性 用 于 指 定 状 态 信 息 的 详 细 程 度 可 以 设 为 以 下 值 S ta tu s _N one S ta tu s _In form a t iona l S tatu s _ B as ic S ta tus _R ou tin e s S ta tu s _D e bug S ta tu s _ T ra c e

S ta tu s 特 性

第 十 三 章 使 用 PO P 控 件 - 图67声 明 prope r ty S ta tus : S tr ing;

第 十 三 章 使 用 PO P 控 件 - 图68这 个 特 性 返 回 当 前 的 状 态 信 息

Su m m a r y 特 性

第 十 三 章 使 用 PO P 控 件 - 图69声 明 prope r ty S u m m a r y : T S u m m a r y ;

第 十 三 章 使 用 PO P 控 件 - 图70第 十 三 章 使 用 PO P 控 件 - 图71第 十 三 章 使 用 PO P 控 件 - 图72第 十 三 章 使 用 PO P 控 件 - 图73调 用 了 G e t S u m m a r y 函 数 后 这 个 特 性 包 含 了 邮 件 的 统 计 信 息 TS u m m a r y 是一 个 类 其 中

  • 第 十 三 章 使 用 PO P 控 件 - 图74B y

    te s 这 是 邮 件 的 字 节 数

  • 第 十 三 章 使 用 PO P 控 件 - 图75F ro

    m 这 是 发 件 人 的 E - M a i l地 址

  • 第 十 三 章 使 用 PO P 控 件 - 图76M e

    ssa g e Id 这 是 邮 件 的 编 号 如 3587A 72E . 8928F 0 D 5 @ pub lic . e a s t. c n . n e t

  • 第 十 三 章 使 用 PO P 控 件 - 图77第 十 三 章 使 用 PO P 控 件 - 图78S

    ub je c t 这 是 邮 件 的 主 题程 序 示 例 如 下

vo id _ fa s tc a l l T F orm 1 : : B u tton6C l ic k ( TO b je c t ∗ Se n d e r )

{

N M P O P 31-> G e t S u m m a ry ( S tr T oIn t( E d it 5 -> T e x t) ) ; E d i t 6 -> T e xt = N M P O P 31-> S um m a ry -> F rom ;

E d i t 7 -> T e xt = N M P O P 31-> S um m a ry -> S ubje c t ;

E d i t 8 -> T e x t = In t T o S tr(N M P O P 3 1 -> S u m m a r y -> B y te s ); E d i t 9 -> T e xt = N M P O P 31-> S um m a ry -> M e s s a g e ID ;

}

T im e o u t 特 性

第 十 三 章 使 用 PO P 控 件 - 图79声 明 prope r ty T im e O u t: In te ge r ;

第 十 三 章 使 用 PO P 控 件 - 图80第 十 三 章 使 用 PO P 控 件 - 图81这 个 特 性 用 于 指 定 一 个 毫 秒 数 如 果 超 过 规 定 的 时 间 S o ck et没 有 响 应 就 触 发异 常

Tra n s a c tio n R e p ly 特 性

第 十 三 章 使 用 PO P 控 件 - 图82声 明 prope r ty T ra n s a c tionR e p ly : S tr ing;

第 十 三 章 使 用 PO P 控 件 - 图83第 十 三 章 使 用 PO P 控 件 - 图84这 个 特 性 返 回 上 一 次 命 令 的 执 行 结 果 程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 ::B u tto n 1 C lic k ( T O b je c t ∗ Se n d e r )

{

N M P O P 31-> T im e O ut = 20 00 0;

N M P O P 31-> C on n e c t( ) ;

S how M e s sa g e ( N M P O P3 1-> T ra nsa c t io nR e p ly ) ;

}

U s erI d 特 性

第 十 三 章 使 用 PO P 控 件 - 图85声 明 prope r ty U s e r Id : W ide S tr ing;

第 十 三 章 使 用 PO P 控 件 - 图86第 十 三 章 使 用 PO P 控 件 - 图87这 个 特 性 用 于 设 置 用 户 名 与 Pa ss w o rd 特 性 一 起 用 于 身 份 验 证

1 3.2 PO P 控 件 的 方 法

Ab o r t 函 数

第 十 三 章 使 用 PO P 控 件 - 图88声 明 proc e dure A bort;

第 十 三 章 使 用 PO P 控 件 - 图89第 十 三 章 使 用 PO P 控 件 - 图90这 个 函 数 用 于 中 止 此 次 发 送 并 且 断 开 与 PO P3 服 务 器 的 连 接

C o n n ec t 函 数

第 十 三 章 使 用 PO P 控 件 - 图91声 明 proc e dure C o n n e c t;

第 十 三 章 使 用 PO P 控 件 - 图92第 十 三 章 使 用 PO P 控 件 - 图93第 十 三 章 使 用 PO P 控 件 - 图94第 十 三 章 使 用 PO P 控 件 - 图95这 个 函 数 很 重 要 用 于 登 录 到 PO P 3 服 务 器 H o s t Po r t U s e rID 和 Pa ss w o rd

第 十 三 章 使 用 PO P 控 件 - 图96第 十 三 章 使 用 PO P 控 件 - 图97特 性 必 须 事 先 已 设 置 程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 ::B u tto n 1 C lic k ( T O b je c t ∗ Se n d e r )

{

N M P O P 3 1 -> A tta c h F ile P a th = " ." ;

N M P O P 3 1 -> D eleteO n R ea d = fa ls e; N M P O P 31-> T im e O ut = 20 00 0;

N M P O P 31-> H os t = " m a i l .m y s e rv e r .c om " ; N M P O P 31-> P ort = 110;

NM P O P 3 1 -> U s e r ID = " E d " ;

N M P O P 31-> P a s s w o rd = " S m i th " ; N M P O P 31-> C on n e c t( ) ;

L a be l 1 0-> C a p t ion = " # o f M e ss a g e s : " + In t T oS tr ( N M P O P 31 -> M a i l C ou n t) ;

}

D e le te M a ilM e s s a g e 函 数

第 十 三 章 使 用 PO P 控 件 - 图98声 明 proc e dure D e le te M a i l M e s s a ge ( M a il N u m be r : in te ge r ) ;

第 十 三 章 使 用 PO P 控 件 - 图99这 个 函 数 从 PO P3 服 务 器 中 删 除 一 个 邮 件 M a il N um be r 参 数 指 定 要 删 除 的 邮

第 十 三 章 使 用 PO P 控 件 - 图100第 十 三 章 使 用 PO P 控 件 - 图101第 十 三 章 使 用 PO P 控 件 - 图102第 十 三 章 使 用 PO P 控 件 - 图103第 十 三 章 使 用 PO P 控 件 - 图104第 十 三 章 使 用 PO P 控 件 - 图105件 的 编 号 注 意 调 用 D e le te M a ilM e s s a g e 函 数 实 际 上 并 没 有 真 正 删 除 邮 件除 非 断 开 了 连 接 在 断 开 连 接 之 前 您 可 以 调 用 R e s e t函 数 恢 复 被 删 除 的 邮件

D is c o n n ec t 函 数

第 十 三 章 使 用 PO P 控 件 - 图106声 明 proc e dure D is c onne c t;

第 十 三 章 使 用 PO P 控 件 - 图107这 个 函 数 断 开 与 PO P 3 服 务 器 的 连 接

G e t M a il M e s s ag e 函 数

第 十 三 章 使 用 PO P 控 件 - 图108声 明 proc e dure G e t M a il M e s s a ge ( M a il N u m be r : in te ge r ) ;

第 十 三 章 使 用 PO P 控 件 - 图109第 十 三 章 使 用 PO P 控 件 - 图110这 个 函 数 用 于 从 PO P 3 服 务 器 下 载 一 个 邮 件 M a il N um be r 参 数 指 定 邮 件 的 编号

G e t S u m m a r y 函 数

第 十 三 章 使 用 PO P 控 件 - 图111声 明 proc e dure G e t S um m a r y ( M a il N u m b e r : in te ge r ) ;

第 十 三 章 使 用 PO P 控 件 - 图112第 十 三 章 使 用 PO P 控 件 - 图113这 个 函 数 将 返 回 一 个 邮 件 的 统 计 信 息 M a il N um be r参 数 指 定 邮 件 的 编 号

L is t 函 数

第 十 三 章 使 用 PO P 控 件 - 图114声 明 proc e dure L is t;

第 十 三 章 使 用 PO P 控 件 - 图115第 十 三 章 使 用 PO P 控 件 - 图116第 十 三 章 使 用 PO P 控 件 - 图117这 个 函 数 从 PO P3 服 务 器 检 索 一 个 列 表 该 列 表 中 包 含 每 一 个 邮 件 的 编 号 和字 节 数 列 表 中 的 每 一 个 项 将 触 发 一 次 O n L is t事 件

R e s e t 函 数

第 十 三 章 使 用 PO P 控 件 - 图118声 明 proc e dure R e s e t;

第 十 三 章 使 用 PO P 控 件 - 图119第 十 三 章 使 用 PO P 控 件 - 图120第 十 三 章 使 用 PO P 控 件 - 图121这 个 函 数 将 恢 复 服 务 器 中 所 有 标 记 为 已 删 除 的 邮 件

1 3.3 PO P 控 件 的 事 件

第 十 三 章 使 用 PO P 控 件 - 图122第 十 三 章 使 用 PO P 控 件 - 图123第 十 三 章 使 用 PO P 控 件 - 图124第 十 三 章 使 用 PO P 控 件 - 图125PO P 控 件 的 事 件 往 往 是 与 调 用 某 个 方 法 相 关 联 的 如 果 事 件 被 触 发 通 常 表示 调 用 成 功 您 可 以 在 处 理 事 件 的 句 柄 中 得 到 PO P 服 务 器 的 返 回 信 息

O n A u th e n tic a tio n F a ile d 事 件

第 十 三 章 使 用 PO P 控 件 - 图126声 明 prope r ty O n A u th e n tic a t ionF a i le d : T H a nd le r E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图127第 十 三 章 使 用 PO P 控 件 - 图128其 中 T H an d ler E v en t是 这 样 声 明 的

T H a nd le r E v e n t = P roc e dure ( va r ha nd le d : boo le a n ) o f O b je c t ;

第 十 三 章 使 用 PO P 控 件 - 图129第 十 三 章 使 用 PO P 控 件 - 图130第 十 三 章 使 用 PO P 控 件 - 图131第 十 三 章 使 用 PO P 控 件 - 图132第 十 三 章 使 用 PO P 控 件 - 图133第 十 三 章 使 用 PO P 控 件 - 图134第 十 三 章 使 用 PO P 控 件 - 图135当 登 录 到 PO P3 服 务 器 时 如 果 没 有 事 先 给 出 用 户 名 和 口 令 或 者 用 户 名 和口 令 是 非 法 的 将 会 触 发 这 个 事 件 更 正 了 错 误 后 如 果 把 H a nd le d 参 数 设为 T ru e 将 再 登 录 一 遍

O n A u th en tica tio n N eed e d 事 件

第 十 三 章 使 用 PO P 控 件 - 图136声 明 prope r ty O n A u th e n tic a t ionN e e d e d : T H a nd le r E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图137如 果 某 个 操 作 需 要 验 证 用 户 的 身 份 就 会 触 发 这 个 事 件

O n C o n n ec t 事 件

第 十 三 章 使 用 PO P 控 件 - 图138声 明 prope r ty O n C onne c t: T N o tif y E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图139当 客 户 已 经 成 功 地 连 接 到 PO P 3 服 务 器 时 将 触 发 这 个 事 件

O n C o n n ectio n F a ile d 事 件

第 十 三 章 使 用 PO P 控 件 - 图140声 明 prope r ty O n C onne c tionF a ile d: T N o tify E ve n t;

第 十 三 章 使 用 PO P 控 件 - 图141当 客 户 试 图 登 录 到 PO P 3 服 务 器 失 败 时 将 触 发 这 个 事 件

O n C o n n e c tio n R e q u ire d 事 件

第 十 三 章 使 用 PO P 控 件 - 图142声 明 prope r ty O n C onne c tionR e q u ire d : T H a nd le r E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图143第 十 三 章 使 用 PO P 控 件 - 图144第 十 三 章 使 用 PO P 控 件 - 图145第 十 三 章 使 用 PO P 控 件 - 图146第 十 三 章 使 用 PO P 控 件 - 图147第 十 三 章 使 用 PO P 控 件 - 图148第 十 三 章 使 用 PO P 控 件 - 图149PO P 控 件 的 大 部 分 函 数 只 能 在 已 连 接 到 PO P3 服 务 器 上 时 才 是 有 意 义 的 如果 调 用 函 数 时 没 有 连 接 到 PO P 3 服 务 器 将 触 发 这 个 事 件 在 处 理 这 个 事 件的 句 柄 中 您 应 当 调 用 C onne c t 函 数 连 接 PO P3 服 务 器 然 后 把 H a nd le d 参 数设 为 T ru e 程 序 示 例 如 下

vo id _ fa s tc a l l T F orm 1 : : N M P O P 31C o n n e c t io nR e q u ire d( b ool & h a nd le d )

{

A n s i S tr ing B o xC a p t ion = " C o nne c t io n R e q u ire d " ;

A n s i S tr ing B o xM s g = " C on ne c t ion R e qu ire d. C o nne c t? " ;

if ( M e s s a ge B o x ( 0, & B ox M sg [ 1 ], & B ox C a p tio n [ 1 ], M B _Y E S N O + M B _ IC ONE XC L A M A T IO N ) = = IDYE S )

{

ha n d le d = true ;

}

}

O n D is c o nne c t 事 件

第 十 三 章 使 用 PO P 控 件 - 图150声 明 prope r ty O n D is c onne c t: T N o tif y E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图151第 十 三 章 使 用 PO P 控 件 - 图152第 十 三 章 使 用 PO P 控 件 - 图153第 十 三 章 使 用 PO P 控 件 - 图154第 十 三 章 使 用 PO P 控 件 - 图155当 客 户 断 开 与 PO P3 服 务 器 的 连 接 时 将 触 发 这 个 事 件 注 意 在 处 理 这 个 事件 的 句 柄 中 如 果 需 要 访 问 VC L 元 件 的 话 最 好 先 判 断 VC L 元 件 是 否 存 在

O n F a ilu re 事 件

第 十 三 章 使 用 PO P 控 件 - 图156声 明 prope r ty O n F a ilure : T N o tif y E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图157第 十 三 章 使 用 PO P 控 件 - 图158如 果 删 除 邮 件 时 出 错 将 触 发 这 个 事 件

O n I n v a lid H o s t 事 件

第 十 三 章 使 用 PO P 控 件 - 图159声 明 prope r ty O n Inva l idH os t: T H a nd le r E v e n t;

第 十 三 章 使 用 PO P 控 件 - 图160第 十 三 章 使 用 PO P 控 件 - 图161当 H o s t特 性 所 指 定 的 主 机 名 是 非 法 的 就 触 发 这 个 事 件

O n L is t 事 件

第 十 三 章 使 用 PO P 控 件 - 图162声 明 prope r ty O n L is t : T L is t E ve n t;

第 十 三 章 使 用 PO P 控 件 - 图163第 十 三 章 使 用 PO P 控 件 - 图164其 中 TL is t Ev e n t是 这 样 声 明 的

T L is t E v e n t = pro c e dure ( M s g, S iz e : in te ge r ) of ob je c t ;

第 十 三 章 使 用 PO P 控 件 - 图165第 十 三 章 使 用 PO P 控 件 - 图166第 十 三 章 使 用 PO P 控 件 - 图167第 十 三 章 使 用 PO P 控 件 - 图168第 十 三 章 使 用 PO P 控 件 - 图169当 程 序 调 用 L is t函 数 时 每 检 索 到 一 个 项 就 会 触 发 一 次 O n L is t 事 件 M s g 参数 是 邮 件 的 编 号 S iz e 参 数 是 邮 件 的 字 节 数 程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 -> N M P O P 3 1 L is t( in t M s g , S iz e )

{

M e m o 3 -> L in e s -> A d d ( In t T o S tr(M s g )+ " / /" + In t T o S tr(S iz e ));

}

O n P a ck et R e c v d 事 件

第 十 三 章 使 用 PO P 控 件 - 图170声 明 prope r ty O n P a c k e t R e c vd: T N o tif y E ve n t ;

第 十 三 章 使 用 PO P 控 件 - 图171第 十 三 章 使 用 PO P 控 件 - 图172第 十 三 章 使 用 PO P 控 件 - 图173每 收 到 一 个 数 据 块 就 会 触 发 这 个 事 件 在 处 理 这 个 事 件 的 句 柄 中 您 可 以用 B y te s T o ta l特 性 和 B y te s R e c v d 特 性 显 示 接 收 的 进 度

O n R e s e t 事 件

第 十 三 章 使 用 PO P 控 件 - 图174声 明 prope r ty O n R e s e t : T N o tif y E ve n t;

第 十 三 章 使 用 PO P 控 件 - 图175第 十 三 章 使 用 PO P 控 件 - 图176第 十 三 章 使 用 PO P 控 件 - 图177当 程 序 调 用 R e s e t函 数 恢 复 了 标 记 为 已 删 除 的 邮 件 后 将 触 发 这 个 事 件

O n R e triv e S ta r t 事 件

第 十 三 章 使 用 PO P 控 件 - 图178声 明 p ro p e r ty O n R e triv e S ta r t : T N o tif y E v e n t ;

第 十 三 章 使 用 PO P 控 件 - 图179第 十 三 章 使 用 PO P 控 件 - 图180当 程 序 调 用 G e tM a ilM e s s a g e 函 数 或 G e t S u m m a r y 函 数 检 索 数 据 时 将 触 发 这 个事 件 程 序 示 例 如 下

v o id _ fa s tc a ll T F o rm 1 ::N M P O P 3 1 R e tr iv e S ta r t( T O b je c t ∗ Se n d e r )

{

F o rm 1-> C urs o r = c r H o u r G la ss ;

S tatu s B a r 1 -> S im p le T e x t = " R etriev al s tart" ;

}

O n R e tr iv e E n d 事 件

第 十 三 章 使 用 PO P 控 件 - 图181声 明 prope r ty O n R e tr iv e E nd: T N o tif y E ve n t;

第 十 三 章 使 用 PO P 控 件 - 图182第 十 三 章 使 用 PO P 控 件 - 图183当 程 序 调 用 G e tM a ilM e s s a g e 函 数 或 G e t S u m m a r y 函 数 已 成 功 地 检 索 到 数 据 就触 发 这 个 事 件 程 序 示 例 如 下

vo id _ fa s tc a l l T F orm 1 : : N M P O P 31R e tr iv e E n d ( T O b je c t ∗ Se n d e r )

{

F o rm 1 -> C u rs o r = c r D e fa u l t ;

S tatu s B a r 1 -> S im p le T e x t = " R etriev al end " ;

}