anchor.diff:    FClient := Client;
     FName := AName;
     FArgs := Args;
  -  //Client.ByValue(FArgs);
     FCallback := Callback;
     FSettings := ASettings;
     FError := nil;
  
positive.code: 
  uses
    HproseIO;
  
  {$IFNDEF FPC}
  {$I InterlockedAPIs.inc}
  {$ENDIF}
  
  type
  
  
negative.code: var
    N: Integer;
  begin
    FURIList.Lock;
    try
      N := FURIList.Count;
      if N > 1 then begin
        if FIndex < N - 1 then
          Inc(FIndex)
        else begin
          FIndex := 0;
          Inc(FFailround);
        end;
        FURI := FURIList[FIndex];
      end
      else Inc(FFailround);
    finally
      FURIList.Unlock;
    end;
    if Assigned(FOnFailswitch) then FOnFailswitch(Self);
  end;
  
  