Browse Source

* Item class is now a class function in TDDFieldDefs

git-svn-id: trunk@14205 -
michael 15 years ago
parent
commit
b732012438
1 changed files with 10 additions and 2 deletions
  1. 10 2
      packages/fcl-db/src/datadict/fpdatadict.pp

+ 10 - 2
packages/fcl-db/src/datadict/fpdatadict.pp

@@ -108,6 +108,7 @@ Type
     Property Hint : String Read FHint Write FHint;
     Property ProviderFlags : TProviderFlags Read FProviderFlags Write FProviderFlags;
   end;
+  TDDFieldDefClass = Class of TDDFieldDef;
 
   { TDDTableCollection }
   TDDTableCollection = Class(TIniCollection)
@@ -135,6 +136,7 @@ Type
   Public
     Constructor Create(ATableDef : TDDTableDef);
     Constructor Create(ATableName : string);
+    Class Function FieldDefClass : TDDFieldDefClass; virtual;
     Property TableDef : TDDTableDef Read FTableDef;
     Property TableName : String Read GetTableName Write SetTableName;
     Function AddField(AFieldName: String = '') : TDDFieldDef;
@@ -1242,24 +1244,30 @@ end;
 
 constructor TDDFieldDefs.Create(ATableDef: TDDTableDef);
 begin
-  Inherited Create(TDDFieldDef);
+  Inherited Create(FieldDefClass);
   FPrefix:='Field';
   SetTableDef(ATableDef);
 end;
 
 constructor TDDFieldDefs.Create(ATableName: String);
 begin
-  Inherited Create(TDDFieldDef);
+  Inherited Create(FieldDefClass);
   FPrefix:='Field';
   TableName:=ATableName;
 end;
 
+class function TDDFieldDefs.FieldDefClass: TDDFieldDefClass;
+begin
+  Result:=TDDFieldDef
+end;
+
 function TDDFieldDefs.GetField(Index : Integer): TDDFieldDef;
 begin
   Result:=TDDFieldDef(Items[Index]);
 end;
 
 
+
 procedure TDDFieldDefs.SetField(Index : Integer; const AValue: TDDFieldDef);
 begin
   Items[Index]:=AValue;