我想使用TList类,来把对象保存进去,由于TList的Add方法后面的参数是一个对象的地址。如:我有一个TStudent类,现在要建立PTStudent指针,怎么建?(如果TStudent是type直接用new就可以,但是这里是class).
我试过先建立对象(TStudent.Create),然后把地址传进去,但是,我在不同的地方建立得对象是局部变量,地址存进去也没用。
请高手指点!
我试过先建立对象(TStudent.Create),然后把地址传进去,但是,我在不同的地方建立得对象是局部变量,地址存进去也没用。
请高手指点!
解决方案 »
- DBGridEh 回车或者TAB不换行 怎么办?
- 如何使TEdit控件显示内容靠右显示?
- 如何在控件中动态生成一个form
- 如何安装FastReport控件或者是Ehlib在线急等
- 用ADO如何连接远程机器上的ACCESS数据库?
- 救命啊!关于控件组~~
- 如何写一个函数同时实现Query控件的Open和Execute功能?
- 在IE中下载软件时如何恢复显示那个"文件下载"对话框
- delphi WebBrowser1 打开网页 状态
- 老问题:如何根据数据的不同来使dbgrid的行显示为不同的颜色?
- 我是新手,请各位大哥帮个忙,怎样相互调用窗体?
- 给定一个ODBC数据源(仅仅一个名字)如何在它所连接的数据库里创建一个表?(很难吗?)
type
PTStudent = ^TStudent
...............
MyList:TList;后面要往TList里面放东西了,就 PTStudent:ptStu;
MyList.Add(@(TStudent.Create))?可以吗?还是有好办法?这样好象通不过。
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;程序我运行过了,可行,可能有敲错的地方,你仔细检查一下哦!