我在网上建立一个帖子给出了一个把某个制定文件夹下的所有文件夹都倒入一个
TTreeView来显示的函数,满心欢喜拷下去用了,结果总是报错,请大家指正。
  
  被调函数
   procedure TMainForm.DirToTreeView(Tree: TTreeView; Directory: string; Root: TTreeNode; IncludeFiles: Boolean);var
  SearchRec : TSearchRec;
  ItemTemp : TTreeNode;
begin  with Tree.Items do
  try
    BeginUpdate;//这里总是抱错,为何。
    if Directory[Length(Directory)] <> '\' then Directory := Directory + '\';
    if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
    begin
      repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
      begin
        if (SearchRec.Attr and faDirectory > 0) then
          Root := AddChild(Root, SearchRec.Name);
        ItemTemp := Root.Parent;
        DirToTreeView(Tree, Directory + SearchRec.Name, Root, IncludeFiles);
        Root := ItemTemp;
     end
     else if IncludeFiles then
       if SearchRec.Name[1] <> '.' then
         AddChild(Root, SearchRec.Name);
     until SysUtils.FindNext(SearchRec) <> 0;     FindClose(SearchRec);
   end;
 finally
   EndUpdate;
end;end;
  主调函数
  procedure TMainForm.OpenFolder1Click(Sender: TObject);
var
  TreeView1 :TTreeView;
  NodeRoot : TTreeNode;
begin
  TreeView1 := TTreeView.Create(self);  
  CodeEdit1.Visible := false;
  TreeView1.Visible := true;
  DirToTreeView(TreeView1, 'e:\temp' ,NodeRoot, false);
end;