anchor.diff:      function GetEnumerator: IListEnumerator; virtual;
       function IndexOf(const Value: Variant): Integer; virtual; abstract;
       procedure Insert(Index: Integer; const Value: Variant); virtual; abstract;
  -    function Join(const Glue, LeftPad, RightPad: string): string; virtual;
  +    function Join(const Glue: string = ',';
  +                  const LeftPad: string = '';
  +                  const RightPad: string = ''): string; virtual;
       class function Split(Str: string; const Separator: string = ',';
         Limit: Integer = 0; TrimItem: Boolean = False;
         SkipEmptyItem: Boolean = False; Sync: Boolean = True;
  
positive.code:  *                                                        *
   * hprose common unit for delphi.                         *
   *                                                        *
   * LastModified: May 24, 2014                             *
   * Author: Ma Bingyao <andot@hprose.com>                  *
   *                                                        *
  \**********************************************************/
  
negative.code:       FCapacity := FLength + Count;
        Grow;
      end;
      Move(FData[FPosition], FData[FPosition + Count], (FLength - FPosition) * SizeOf(Char));
      Move(PChar(AString)^, FData[FPosition], Count * SizeOf(Char));
      Inc(FPosition, Count);
      Inc(FLength, Count);
    end;
  