unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs;

type
  TForm1 = class(TForm)
  private

  public

  end;

type
  THeaderList=class(TStringList)
  protected
    { Internal methods: }
    function GetValueByName(const Name: string):string;
    procedure SetValueByName(const Name,Value: string);

  public
    property Values[const Name: string]: string read GetValueByName write SetValueByName; default;
    property Strings;

    //
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

function THeaderList.GetValueByName(const Name: string): string;

begin
  Result:='';
end;

procedure THeaderList.SetValueByName(const Name,Value: string);

begin
end;

Procedure Test;

var
    S:String;
    T:THeaderList;

begin
     T := THeaderList.Create;
     S:=T['Expect'];
     FreeAndNil(T);
end;

end.

