在Tfrom1.Create的时候TreeView的数据不加载
而换成TForm1.Button3Click就可以了代码如下:
procedure TForm1.Button3Click(Sender: TObject);var
Node,Node2 : TTreeNode;
begin
  Node := TreeView1.Items.Add(nil,'总公司');
  Node2 := TreeView1.Items.AddChild(Node,'行政部门');
end;
这个可以显示 
----------------------
procedure TForm1.Create(Sender: TObject);var
Node , Node2: TTreeNode;
begin
  Node := TreeView1.Items.Add(nil,'总公司');
  Node2 := TreeView1.Items.AddChild(Node,'行政部门');end;这个不行

解决方案 »

  1.   

    是不是你在TForm1.OnShow事件中做了什么
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, ImgList, ComCtrls, ToolWin, StdCtrls, Menus, DB, ADODB;type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        ToolBar1: TToolBar;
        ToolButton1: TToolButton;
        ToolButton2: TToolButton;
        ToolButton3: TToolButton;
        ToolButton4: TToolButton;
        ToolButton5: TToolButton;
        ToolButton6: TToolButton;
        ToolButton7: TToolButton;
        ToolButton8: TToolButton;
        ToolButton9: TToolButton;
        ImageList1: TImageList;
        Panel1: TPanel;
        Button1: TButton;
        Button2: TButton;
        TCode: TEdit;
        TRootCode: TEdit;
        TName: TEdit;
        TContent: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        TreePopupMenu: TPopupMenu;
        InsertMenu: TMenuItem;
        InsertSubMenu: TMenuItem;
        EditMenu: TMenuItem;
        DeleteMenu: TMenuItem;
        TypeTable: TADOTable;
        Button3: TButton;
        procedure Button2Click(Sender: TObject);
        Procedure Create(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
       
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    //点重写,清空text的值
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    Form1.TCode.Text := '';
    Form1.TRootCode.Text := '';
    Form1.TName.Text := '';
    Form1.TContent.Text := '';
    end;
    //  当窗体创建时显示TreeView里的内容procedure TForm1.Create(Sender: TObject);var
    Node , Node2: TTreeNode;
    begin
      //父目录里显示当前的Node
      Form1.TRootCode.Text := TreeView1.Selected //这句有错
      Node := TreeView1.Items.Add(nil,'总公司');
      Node2 := TreeView1.Items.AddChild(Node,'行政部门');end;//点测试按扭时显示treeview的值
    procedure TForm1.Button3Click(Sender: TObject);var
    Node,Node2 : TTreeNode;
    begin
      Node := TreeView1.Items.Add(nil,'总公司');
      Node2 := TreeView1.Items.AddChild(Node,'行政部门');
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    //写入数据表
    end;end.
    ------------------------------------
    Create和FromCreate还有个Active有什么区别?
    刚看...
      

  3.   

    FromCreate 在窗体创建的时候触发
    Active  在窗体创建的时候触发
    Create 创建  要看具体情况
      

  4.   

    Active  在窗体被激活的时候触发
      

  5.   

    >>Form1.TRootCode.Text := TreeView1.Selected //这句有错
    是有問題, 在創建時, 你讀, 會有問題, 
      

  6.   

    to : aiirii(ari-爱的眼睛)>>Form1.TRootCode.Text := TreeView1.Selected //这句有错
    注释了这句也不会显示TreeView里的内容
      

  7.   

    你说 Form1.TRootCode.Text := TreeView1.Selected //这句有错
    问题就在这里了
    你那个是TForm1.Create,Tform1明白吗?form1所属的类,按你的意思,好像是要在创建Form1的时候加入节点,而不是说要在这个Tform1类的所有实例创建的时候都加入节点,再者,你的form1不也是Tform1的一个实例吗?那在form1创建的时候,Form1还没创建呢,你就要在他这个窗体上面的treeview里面加节点,那不就相当于你家盖一个楼,地基还没挖呢,你就要在十一层的某个插座上插个热得快一样吗?
      

  8.   

    to : vavyboyleon(一天到晚加班的驴)
    那要怎么改一下,就是你说的这个意思
    我。TForm1.Create 这个是创建from1吧,不明白,得先看书..
    谢谢各位
      

  9.   

    你试试把Tform1.create(……)
    改称 form1.create(……)
      

  10.   

    aiirii(ari-爱的眼睛) 不是叫你注释掉那句,我想他跟我说的是一个意思,就算注释掉那句,下面那句也会错,原理都是一样的
      

  11.   


    to : vavyboyleon(一天到晚加班的驴) 
    按你的修改成 form1.create(……) 出现错误..Build
      [Warning] Unit1.pas(42): Method 'Create' hides virtual method of base type 'TCustomForm'
      [Error] Unit1.pas(72): Identifier redeclared: 'form1'
      [Error] Unit1.pas(42): Unsatisfied forward or external declaration: 'TForm1.Create'
      [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'------------------------------------------------------------------------------
    为什么其它的是用的TForm1呢?procedure TForm1.Button3Click(Sender: TObject);
      

  12.   

    procedure TForm1.FormCreate(Sender: TObject);原来是这样,真是失败..
    谢谢各位