OmniThreadLibrary 匿名事件监视

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
    FAnonTask := CreateTask(
        procedure (const task: IOmniTask) begin
          task.Comm.Send(0, Format('Hello, world! Reporting from thread %d',
            [GetCurrentThreadID]));
        end,
        'HelloWorld')
      .OnMessage(
        procedure(const task: IOmniTaskControl; const msg: TOmniMessage) begin
          lbLog.ItemIndex := lbLog.Items.Add(Format('%d:[%d/%s] %d|%s',
            [GetCurrentThreadID, task.UniqueID, task.Name, msg.msgID,
             msg.msgData.AsString]));
        end)
      .OnTerminated(
        procedure(const task: IOmniTaskControl) begin
          lbLog.ItemIndex := lbLog.Items.Add(Format('[%d/%s] Terminated',
            [task.UniqueID, task.Name]));
          btnHello.Enabled := true;
          FAnonTask := nil;
        end)
      .Run;
Licensed under CC BY-NC-SA 4.0
记录平时瞎折腾遇到的各种问题, 方便查找
使用 Hugo 构建
主题 Stack 3.29.0Jimmy 设计