节点重复增加, 请大家帮忙解决
procedure TForm1.Button1Click(Sender: TObject);
var
  myshuju: PMyData ;begin
  Treeview1.Items.Clear;
  TreeView1.Items.Add(nil,'供应商信息');  while Not Adotable1.Eof do
  begin
  New(Myshuju);  //记住,一定要先分配内存。有几个节点,就要分配几次内存。
  myshuju^.sFName:=Adotable1.fieldbyname('cVccode').AsString;
  Myshuju^.sLName :=Adotable1.fieldbyname('cVcname').AsString;  with TreeView1 do
  begin
    Tlist[0]:=items.AddChild(TreeView1.Items[0], myshuju.sLname);
     Tlist[0].data:=myshuju;
     Tlist[0].ImageIndex:=0;
     Tlist[0].Selected;
     Tlist[0].ImageIndex:=2;  
  end;
  AdoTable1.Next ;
  end;  end;
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
 a:integer;
begin  ADoQuery1.SQL.Clear;
  AdoQuery1.SQL.Add('SELECT A.cVenName, B.cVCName FROM Vendor AS A INNER JOIN VendorClass AS B ON A.cVCCode = B.cVCCode');
  AdoQuery1.Open;   While NOt AdoQuery1.Eof do
     begin
      for a:=0 to TreeView1.Items[0].Count -1 do      begin       if TreeView1.Items[0].item[a].Text= AdoQuery1.FieldByName('cVCname').AsString then
     begin     Tlist[1]:=TreeView1.Items.AddChild(TreeView1.Items[0].Item[a],ADoQuery1.fieldByName('CVenName').AsString );
      end;
      end;
   AdoQuery1.Next ;
     end;
   AdoQuery1.Close;
   AdoQuery1.SQL.Clear;     end;
   end.