在组件上定义一个属性A:TStingS read FA Write FA;属性B:数组 READ fb WRITE fb? ( 积分: 50 )

  • 主题发起人 主题发起人 2975097
  • 开始时间 开始时间
2

2975097

Unregistered / Unconfirmed
GUEST, unregistred user!
在组件上定义一个属性A:TStingS read FA Write FA;属性B:数组 READ fb WRITE fb?
如何实现?
 
在组件上定义一个属性A:TStingS read FA Write FA;属性B:数组 READ fb WRITE fb?
如何实现?
 
private
FA: TStrings;
FB: TStrings;
publish
property A: TStrings read FA Write FA;
property B: TStrings read FB Write FB;
end;
 
你没有写清楚!!!
 

有错误!
 
TStrings是抽象类,它的有些方法是抽象方法,只声明没定义。比如GetCount。
你要用的话,就用它的子类TStringList吧
constructor Create (AOwner: TComponent); override;
begin
FA:=TStringList.Create;
FB:=TStringList.Create;
.....
end;
destructor Destroy; override;
begin
FA.Free;
FB.Free;
...
end;
 
首先,对于数组不能直接Read/Write
必须使用方法来进行(这在delphi的帮助上有明确的说明)
TClass = object
private
FNums:array[1..10] of LongInt;
procedure SetValue(Index:Integer; Value:LongInt);
function GetValue(Index:Integer):LongInt;
public
property Nums: array[1..10] of LongInt read GetValue write SetValue;
end;

procedure TClass.SetValue(Index:Integer; Value:LongInt);
begin
FNums[Index]:=Value;
end;
function TClass.GetValue(Index:Integer):LongInt;
begin
result:=FNums[Index];
end;
其次,对于类的指针,一定要分清类和类的实例,指向类的指针的区别
 
后退
顶部