惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
B
Blog RSS Feed
H
Help Net Security
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
L
LangChain Blog
Vercel News
Vercel News

博客园 - 万一

关于内存数据与 JSON 高亮 TRichEdit 当前行 使用 IntraWeb (45) - 活用 IntraWeb 使用 IntraWeb (44) - 测试读取 SqLite (三) 使用 IntraWeb (43) - 测试读取 SqLite (二) 使用 IntraWeb (42) - 测试读取 SqLite (一) 使用 IntraWeb (41) - 数据控件速查 使用 IntraWeb (40) - 自定义 Session 数据 使用 IntraWeb (39) - THttpRequest、THttpReply 使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm 使用 IntraWeb (37) - TIWApplication 使用 IntraWeb (36) - TIWServerControllerBase 使用 IntraWeb (35) - TIWJQueryWidget 使用 IntraWeb (33) - Cookie 使用 IntraWeb (32) - Url 映射与 THandlers 使用 IntraWeb (31) - IntraWeb 的 Xml 操作使用的是 NativeXml 使用 IntraWeb (30) - TIWAppInfo、TIWMimeTypes、TIWAppCache 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent 使用 IntraWeb (28) - 基本控件之 TIWTemplateProcessorHTML、TIWLayoutMgrHTML、TIWLayoutMgrForm
使用 IntraWeb (34) - TIWAJAXNotifier
万一 · 2014-06-24 · via 博客园 - 万一

在异步事件中, 可以通过 TIWAJAXNotifier 发出一个通知(通过其 Notify 方法), 该通知会激发其 OnNotify 事件.

这一般用在: 当一个异步事件完成后, 立即处理随后的事情.


TIWAJAXNotifier 所在单元及继承链:
IWCompExtCtrls.TIWAJAXNotifier < TIWBaseHTML40Component < TIWBaseHTMLComponent < TIWBaseComponent < TComponent < TPersistent < TObject

主要成员:


property SendNotification: Boolean
property OnNotify: TNotifyEvent

procedure Notify

测试(需要 1 个 IWButton、4 个 IWLabel、3 个 IWAJAXNotifier):



{确保这是异步事件}
procedure TIWForm1.IWButton1AsyncClick(Sender: TObject; EventParams: TStringList);
begin
  IWLabel1.Caption := TimeToStr(Time);
  IWAJAXNotifier1.Notify; //OnAsyncClick 执行到最后, 让 IWAJAXNotifier1 发出通知
end;

{IWAJAXNotifier1.OnNotify}
procedure TIWForm1.IWAJAXNotifier1Notify(Sender: TObject);
begin
  Sleep(1000);
  IWLabel2.Caption := TimeToStr(Time);
  IWAJAXNotifier2.Notify; //继续让 IWAJAXNotifier2 发出通知
end;

{IWAJAXNotifier2.OnNotify}
procedure TIWForm1.IWAJAXNotifier2Notify(Sender: TObject);
begin
  Sleep(1000);
  IWLabel3.Caption := TimeToStr(Time);
  IWAJAXNotifier3.Notify; //继续让 IWAJAXNotifier3 发出通知
end;

{IWAJAXNotifier3.OnNotify}
procedure TIWForm1.IWAJAXNotifier3Notify(Sender: TObject);
begin
  Sleep(1000);
  IWLabel4.Caption := TimeToStr(Time);
end;