anchor.diff:    for LIndex := 0 to ACommand.Params.Count-1 do
     begin
       LParam := ACommand.Params[LIndex];
  -    LParam.Value := GetContextValue(LParam.Name.Split([PARAM_AND_MACRO_DELIMITER]));
  +    LParam.Value := GetContextValue(LParam.Name);
     end;
   
     for LIndex := 0 to ACommand.Macros.Count-1 do
     begin
       LMacro := ACommand.Macros[LIndex];
  -    LMacro.Value := GetContextValue(LMacro.Name.Split([PARAM_AND_MACRO_DELIMITER]));
  +    LMacro.Value := GetContextValue(LMacro.Name);
     end;
   
   end;
  
positive.code:   Result := FConnection;
  end;
  
  function TMARSFireDAC.GetContextValue(const AName: TArray<string>): Variant;
  var
    LSubject: string;
    LIdentifier: string;
    LHasArgument: Boolean;
    LArgument: string;
  begin
    Result := Null;
    if Length(AName) < 2 then
      Exit;
  
    LSubject := AName[0];
    LIdentifier := AName[1];
    LHasArgument := Length(AName) > 2;
    if LHasArgument then
      LArgument := AName[2];
  
    if SameText(LSubject, 'Token') then
    begin
  
negative.code:     procedure SetConnectionDefName(const Value: string);
      function GetConnection: TFDConnection;
      procedure InjectParamAndMacroValues(const ACommand: TFDCustomCommand);
      function GetContextValue(const AName: string): Variant;
    public
      const PARAM_AND_MACRO_DELIMITER = '_';
  
  