属性不能赋值(100分)

  • 主题发起人 主题发起人 夜色獨行
  • 开始时间 开始时间

夜色獨行

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了个类,类中有个属性:Group是字符串数组类型,当我想将这个属性中的第N个元素赋值时提示左值不可以被赋值。请高手赐教,怎样才能达到我要赋值的目的。
以下是源码。
TAddressee_group_names=array [0..MAX_Group] of string;
TJob=class
private
...
public
...
property Addressee_groups :TAddressee_group_names read
GetAddressee_groups write SetAddressee_groups;
end;
下面这句出错:
Addressee_groups[count-1]:=ini.ReadString(Name,'Addressee_group'+inttostr
(count),'');
 
有人回答吗?
 
TAddressee_group_names=array [0..MAX_Group] of string;
TJob=class
private
FAddressee_group_names:TAddressee_group_names;
...
procedure SetAddressee_groups(Index:Integer;const AValue:string);
function GetAddressee_groups(Index:Integer);
public
...
property Addressee_groups[Index:Integer] :string read
GetAddressee_groups write SetAddressee_groups;
end;
implementation
procedure TJob.SetAddressee_groups(Index:Integer;const AValue:string);
begin
FAddressee_group_names[Index]:=AValue;
end;
function TJob.GetAddressee_groups(Index:Integer);
begin
Result:=FAddressee_group_names[Index];
end;
 
楼上兄台的方法应该可以。
 
可是我要直接给这个属性赋一个数据不就没办法了
 
啥意思?没有听明白。
 
就是我假如想这样:job.Addressee_groups:=xxxxx
可以吗?
 
可以呀,看你怎么写Set和Get函数了。
 
还有问题,就是假如我这个数据的类型不是string,而是一个类,则我还是无法对这个类的某一个属性赋值。请大侠回答,我现在发分了。
 

Similar threads

后退
顶部