anchor.diff:  begin
     if VarIsArray(aValue) then
     begin
  -    for i := 0 to VarArrayHighBound(aValue, 1) do
  +    for i := VarArrayLowBound(aValue, 1) to VarArrayHighBound(aValue, 1) do
       begin
         tmpDate := VarAsType(aValue[i], vardate);
  -      aList.Add(trunc(tmpDate));
  +      aList.Add(round(tmpDate));
       end;
     end
     else
     begin
       tmpDate := VarAsType(aValue, vardate);
  -    aList.Add(trunc(tmpDate));
  +    aList.Add(round(tmpDate));
     end;
   end;
   
  
positive.code: begin
    if VarIsArray(aValue) then
    begin
      for i := 0 to VarArrayHighBound(aValue, 1) do
      begin
        aList.Add(VarAsType(aValue[i], vardouble));
      end;
  
negative.code: begin
    if VarIsArray(aValue) then
    begin
      for i := VarArrayLowBound(aValue, 1) to VarArrayHighBound(aValue, 1) do
      begin
        aList.Add(VarAsType(aValue[i], vardate));
      end;
  