创建一个简单的类,为什么调用就会出错?解决方法

创建一个简单的类,为什么调用就会出错?
var   mySample:TSample;
begin
    mySample:=TSample.Create;--> 一执行到这里就会出错,为什么?
end;
类的实现如下

    TSample   =   class   (TObject)
    public
        str:TStrings;
        constructor   Create;    
        destructor   Destroy;   override;          
    end;


constructor   TSample.Create;
begin
    inherited   Create;  
    str:=TStringList.Create;
end;

destructor   TSample.Destroy;
begin
    str.Free;
    inherited;
end;


------解决方案--------------------
怪事.........
------解决方案--------------------
procedure TForm1.Button2Click(Sender: TObject);
var
ss: TSample;
begin
ss :=TSample.Create;
ShowMessage(ss.str.Strings[0]);
ss.Free;// ——————》执行玩这里后出错!!!!!!
end;