Просмотр исходного кода

* Add AllocateName

git-svn-id: trunk@38362 -
michael 7 лет назад
Родитель
Сommit
72bbfe34e9
1 измененных файлов с 16 добавлено и 0 удалено
  1. 16 0
      packages/fcl-report/src/fpreport.pp

+ 16 - 0
packages/fcl-report/src/fpreport.pp

@@ -321,6 +321,7 @@ type
     procedure EndRender; virtual;
     procedure EndRender; virtual;
 
 
   public
   public
+    Function AllocateName : String;
     procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); virtual;
     procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); virtual;
     procedure ReadElement(AReader: TFPReportStreamer); virtual;
     procedure ReadElement(AReader: TFPReportStreamer); virtual;
     // called when the designer starts editing this component .
     // called when the designer starts editing this component .
@@ -5497,6 +5498,21 @@ begin
   FReportState := rsDesign;
   FReportState := rsDesign;
 end;
 end;
 
 
+function TFPReportComponent.AllocateName: String;
+
+Var
+  BaseName : String;
+  I : Integer;
+
+begin
+  BaseName:=ClassName;
+  I:=1;
+  Repeat
+    Result:=BaseName+IntToStr(I);
+    Inc(I);
+  Until (Owner=Nil) or (Owner.FindComponent(Result)=Nil);
+end;
+
 procedure TFPReportComponent.StartDesigning;
 procedure TFPReportComponent.StartDesigning;
 begin
 begin
   SetDesigning(True,True);
   SetDesigning(True,True);