我想使用TList类,来把对象保存进去,由于TList的Add方法后面的参数是一个对象的地址。如:我有一个TStudent类,现在要建立PTStudent指针,怎么建?(如果TStudent是type直接用new就可以,但是这里是class).
我试过先建立对象(TStudent.Create),然后把地址传进去,但是,我在不同的地方建立得对象是局部变量,地址存进去也没用。
请高手指点!

解决方案 »

  1.   

    PTStudent = ^TStudent;这样就是一个指向TStudent的指针了。
      

  2.   

    我知道定义是这样的,但是如何构造它的对象呢,以便于放到TList里面去?
      

  3.   

    我定义了
    type
    PTStudent = ^TStudent
    ...............
    MyList:TList;后面要往TList里面放东西了,就 PTStudent:ptStu;
     MyList.Add(@(TStudent.Create))?可以吗?还是有好办法?这样好象通不过。
      

  4.   

    我是这样做的,定义一个类
    Type
       TStudent=Class
        Private
            FName:String;
        Public
            Procedure SetName(Value:String);
            Function  GetName():String;
        End;
        
        TForm1=Class(TForm)
        .........
    End;
    Var
        Form1:TForm1;
        Student1:TStudent;
        PStudent1:^TStudent;
         ..........
    implementationProcedure TForm1.Button1Click(Sender:TObject);
    Var
       Mylist:TList;
    Begin
       Mylist:=TList.Create;
       Student1:=TStudent.Create; //构造对象实例
       Student1.SetName('飞飞猫');
       PStudent1:=@Student1;
       Mylist.Add(PStudent1);
    end;Function TStudent.GetName:String;
    Begin
       Result:=FName;
    End;Procedure TStudent.SetName(Value:String);
    Begin
       FName:=Value;
    End;程序我运行过了,可行,可能有敲错的地方,你仔细检查一下哦!