Hi, forwarded from Zeljko:
It's about fpc issue http://bugs.freepascal.org/view.php?id=26370 It seems that TVariantArrayIterator.AtEnd loops for all Dims for no reason, so have impact on performance. *current implementation* function TVariantArrayIterator.AtEnd: Boolean; var i : sizeint; begin result:=false; for i:=0 to Pred(Dims) do if Coords^[i] >= Bounds^[i].LowBound + Bounds^[i].ElementCount then result:=true; end; *optimized implementation* function TVariantArrayIterator.AtEnd: Boolean; var i : sizeint; begin result:=false; for i:=0 to Pred(Dims) do if Coords^[i] >= Bounds^[i].LowBound + Bounds^[i].ElementCount then begin result:=true; break; end; end; Thanks. Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel