读书人

怎么给类中的动态数组成员分配空间

发布时间: 2012-02-07 17:45:37 作者: rapoo

如何给类中的动态数组成员分配空间
自定义了一个类,在类中有一个成员是动态数据类型,在一个方法中对这个成员进行赋值,但在编译时在进行初始化的地方出错,出错信息为:Constant object cannot be passed as var parameter。

type DArrayString = array of string;
type
TE00 = class(TE001)
function SetArrayLen(ArrayCount: Integer):boolean;
private
FItemName: DArrayString;
public
property ItemName: DArrayString read FItemName write FItemName;
end;

function TE00.SetArrayLen(ArrayCount: Integer):boolean;
begin
SetLength(ItemName, ArrayCount);
end;


[解决办法]
SetLength(FItemName, ArrayCount);

[解决办法]
SetLength(FItemName, ArrayCount);
不能直接给属性赋值的,你既然定义了
read FItemName write FItemName
那么直接对FitemName进行读写就可以了
[解决办法]
SetLength(FItemName, ArrayCount);
分配空间,你要赋值的话用
property ItemName: DArrayString read FItemName write FItemName;

ItemName[0] := '值'

读书人网 >.NET

热点推荐