如何从一个对象中返回这个对象的数组?(30分)

K

kaneboy

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我写了一个TUser类:
TUser = class
public
function GetAllUser() : ???;
end;
我希望GetAllUser函数能返回array of TUser类型,就是说返回所有用户的资料。
但是函数的返回值不能是“array of ***”这样的。
如果我在TUser前面定义一个TUserArray = array of TUser,编译器说没有找到TUser类型。
如果我在TUser后面定义一个TUserArray = array of TUser,然后让GetAllUser返回TUserArray
类型,那么编译器说没有找到TUserArray类型(因为TUserArray的定义还在后面)。
我后来想了一个极笨的方法,定义一个TObjectArray = array of TObject,然后让GetAllUser
返回TObjectArray类型,得到返回值后,再把数组中而TObject一个个定型成TUser类型。
请教更高明的方法。
另,Delphi中有没有类似Java或C#中的ArrayList那样的集合类型?这样我就可以把TUser对象
全部丢到一个这样的集合对象中。
 
不要你的"极笨的方法",用"在TUser前面定义一个TUserArray = array of TUser",只是在
它之前加上
TUser=class;
这就是提前申明
 
谢谢。
另外再问一下,delphi中有集合类可以用吗?就像是java中的ArrayList那样的对象。
delphi中好像只有动态数组可以达到类似的效果。
 
delphi中有
TList--------------所有元素是Point
TObjectList--------所有元素是TObject
TClassList---------所有元素是TClass
TComponentList-----所有元素是TComponent
TInterfaceList-----所有元素是Interface
 
多人接受答案了。
 
顶部