Răsfoiți Sursa

* Optimized variant of patch in bug ID #27215

git-svn-id: trunk@29350 -
michael 10 ani în urmă
părinte
comite
8e7d649a4d
1 a modificat fișierele cu 8 adăugiri și 4 ștergeri
  1. 8 4
      packages/rtl-objpas/src/inc/variants.pp

+ 8 - 4
packages/rtl-objpas/src/inc/variants.pp

@@ -481,12 +481,16 @@ end;
 
 function TVariantArrayIterator.AtEnd: Boolean;
 var
-  i : sizeint;
+  i,l : sizeint;
 begin
   result:=false;
-  for i:=0 to Pred(Dims) do
-    if Coords^[i] >= Bounds^[i].LowBound + Bounds^[i].ElementCount then
-        result:=true;
+  l:=Pred(dims);
+  I:=0;
+  While (not Result) and (I<=L) do
+    begin
+    Result:=Coords^[i] >= (Bounds^[i].LowBound + Bounds^[i].ElementCount);
+    inc(i);
+    end;
 end;
 
 {$pop}// {$r-} for TVariantArrayIterator