我做了一个类,但运行时出现了错误,不知道为什么会这样,大家看一下
type
  TValue = class (TObject)
  private
    FCount: Integer;
    FCurrIndex: Integer;
    FMemberName: TStringList;
    FNumBeginValue: TStringList;
    FNumEndValue: TStringList;
    FStrValue: TStringList;
    FTableName: string;
    FValueType: array of TFieldType;
  public
    constructor Create(TN: String; Cnt: integer; FieldNames :TStringList;
            FieldTypes: array of TFieldType);
    destructor Destroy; override;
    procedure SetValue(Value: String); overload;
    procedure SetValue(BeginValue, EndValue: Variant); overload;
    property Count: Integer read FCount write FCount;
    property CurrIndex: Integer read FCurrIndex write FCurrIndex;
    property MemberName: TStringList read FMemberName write FMemberName;
    property NumBeginValue: TStringList read FNumBeginValue write 
            FNumBeginValue;
    property NumEndValue: TStringList read FNumEndValue write FNumEndValue;
    property StrValue: TStringList read FStrValue write FStrValue;
    property TableName: string read FTableName write FTableName;
    property ValueType: array of TFieldType read FValueType write FValueType;{第33行}
    {[Error] Unit2.pas(33): Identifier expected but 'ARRAY' found}{错误的位置在array后}
    {[Error] Unit2.pas(33): Incompatible types: 'dynamic array' and 'TFieldType'}{错误的位置在write后}
    {[Error] Unit2.pas(33): Incompatible types: 'dynamic array' and 'TFieldType'}{错误的位置在write后}
  end;
implementation{
************************************ TValue ************************************
}
constructor TValue.Create(TN: String; Cnt: integer; FieldNames :TStringList;
        FieldTypes: array of TFieldType);
var
  I: Integer;
begin
  StrValue := TStringList.Create;
  NumBeginValue := TStringList.Create;
  NumEndValue := TStringList.Create;
  MemberName := TStringList.Create;
  FTableName := TN;
  FCount := Cnt;
  SetLength(FValueType, FCount);
  for  i := 0 to FCount - 1 do
  begin
    FMemberName.Add(FieldNames.Strings[i]);
    FValueType[i] := FieldTypes[i];
    FNumBeginValue.Add('');
    FNumEndValue.Add('');
    FStrValue.Add('');
  end;
end;destructor TValue.Destroy;
begin
  MemberName.Free;
  ValueType := nil;{第67行}
  {[Error] Unit2.pas(67): Incompatible types: 'TFieldType' and 'Pointer'}
  NumEndValue.Free;
  NumBeginValue.Free;
  StrValue.Free;
end;procedure TValue.SetValue(Value: String);
begin
  FNumBeginValue.Strings[FCurrIndex] := '';
  FNumEndValue.Strings[FCurrIndex] := '';
  FStrValue.Strings[FCurrIndex] := Value;
end;procedure TValue.SetValue(BeginValue, EndValue: Variant);
begin
  FNumBeginValue.Strings[FCurrIndex] := BeginValue;
  FNumEndValue.Strings[FCurrIndex] := EndValue;
  FStrValue.Strings[FCurrIndex] := '';
end;
不知道为什么会出现这种错误,难道在类中不可以使用动态数组吗?请高人指点一下