如何使用TIdNotify

时间:2011-11-24 09:37:31

标签: multithreading delphi delphi-2010 indy

我正在尝试使用Indy在Delphi 2010中编写一个线程化应用程序。这两个对我来说都是新的,我正在努力同步Vcl。我已阅读有关使用Critical Sections,TThread.Synchronize,TIdNotify等同步Vcl的信息。 我想看一个如何使用TIdnotify的例子。在我的情况下,我试图从一个线程更新TreeView。我搜索过群组/论坛,但没有成功。 任何例子都非常感谢。 TIA

1 个答案:

答案 0 :(得分:9)

type
  TMyNotify = class(TidNotify)
  private
    FMyData: string;
  protected
    procedure DoNotify; override;
  end;

procedure TMyNotify.DoNotify;
begin
  FormMain.TreeView1.Items.Add(nil, FMyData);
end;

在你的主题中:

var
  MyNotify: TMyNotify;
begin
  MyNotify := TMyNotify.Create;
  MyNotify.FMyData := 'A new node';
  MyNotify.Notify;