anchor.diff:      Result := StrToFloat(LValue);
   end;
   
  +function TWiRLApplicationWorker.TParamReader.AsBoolean(AAttr: TCustomAttribute): Boolean;
  +var
  +  LValue: string;
  +begin
  +  LValue := AsString(AAttr);
  +  if LValue.IsEmpty then
  +    Result := False
  +  else
  +    Result := StrToBool(LValue);
  +end;
  +
   function TWiRLApplicationWorker.TParamReader.AsChar(AAttr: TCustomAttribute): Char;
   var
     LValue: string;
  
positive.code:         Result := TValue.From(LParamReader.AsChar(LAttr));
        end;
  
  //      tkEnumeration: ;
  //      tkSet: ;
  
        tkClass:
        begin
  
negative.code:       function AsInteger(AAttr: TCustomAttribute): Integer;
        function AsChar(AAttr: TCustomAttribute): Char;
        function AsFloat(AAttr: TCustomAttribute): Double;
        function AsBoolean(AAttr: TCustomAttribute): Boolean;
        function AsDateTime(AAttr: TCustomAttribute): TDateTime;
      end;
    private
  