Przeglądaj źródła

* Fix stringlist addstrings so virtual method is preserved (bug id 0029630)

git-svn-id: trunk@33099 -
michael 9 lat temu
rodzic
commit
ae3b0eab2a
1 zmienionych plików z 10 dodań i 10 usunięć
  1. 10 10
      rtl/objpas/classes/stringl.inc

+ 10 - 10
rtl/objpas/classes/stringl.inc

@@ -722,15 +722,13 @@ end;
 
 Procedure TStrings.AddStrings(TheStrings: TStrings; ClearFirst : Boolean);
 
-Var Runner : longint;
 
 begin
   beginupdate;
   try
     if ClearFirst then
       Clear;
-    For Runner:=0 to TheStrings.Count-1 do
-      self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
+    AddStrings(TheStrings);
   finally
     EndUpdate;
   end;
@@ -738,29 +736,31 @@ end;
 
 Procedure TStrings.AddStrings(TheStrings: TStrings);
 
+Var Runner : longint;
 begin
-  AddStrings(TheStrings,False);
+  For Runner:=0 to TheStrings.Count-1 do
+    self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
 end;
 
 Procedure TStrings.AddStrings(const TheStrings: array of string);
 
+Var Runner : longint;
 begin
-  AddStrings(TheStrings,False);
+  if Count + High(TheStrings)+1 > Capacity then
+    Capacity := Count + High(TheStrings)+1;
+  For Runner:=Low(TheStrings) to High(TheStrings) do
+    self.Add(Thestrings[Runner]);
 end;
 
 Procedure TStrings.AddStrings(const TheStrings: array of string; ClearFirst : Boolean);
 
-Var Runner : longint;
 
 begin
   beginupdate;
   try
     if ClearFirst then
       Clear;
-    if Count + High(TheStrings)+1 > Capacity then
-      Capacity := Count + High(TheStrings)+1;
-    For Runner:=Low(TheStrings) to High(TheStrings) do
-      self.Add(Thestrings[Runner]);
+    AddStrings(TheStrings);
   finally
     EndUpdate;
   end;