anchor.diff:    FCppMethods.Free;
     FCppSourceFile.Free;
     FCppHeadFile.Free;
  -  FDelphiTypes.Free;
  +  FParamReturnList.Free;
     FParamNameConvertList.Free;
     FTypeConvertList.Free;
     FMemberList.Free;
  
positive.code:     FMemberList: TList<TMember>;
      FTypeConvertList: TDictionary<string, string>;
      FParamNameConvertList: TDictionary<string, string>;
      FDelphiTypes: TDictionary<string, string>; // ȽϷ
      // c++
      FCppHeadFile: TStringList;    // cppͷļ
      FCppSourceFile: TStringList;  // cppԴļ
  
negative.code:   FMemberList.Insert(I, LM);
  end;
  
  function TCppConvert.GetCppParamsNoDefualtValue(LM: TMember): string;
  var
    L: TParam;
  begin
    Result := '';
    for L in LM.Params do
      Result := Result + L.ParamType + ' ' + L.Name + ', ';
    if not Result.IsEmpty then
      Delete(Result, Result.Length - 1, 2);
  end;
  
  function TCppConvert.GetCppParamsNoType(LM: TMember): string;
  var
    L: TParam;
  begin
    Result := '';
    for L in LM.Params do
    begin
      Result := Result + L.Name + ', ';
    end;
    if Result.Length > 0 then
  