You must pass the FormatSettings that you have set as the StrToDate function's parameter.
You must also assign the tab you want to use to the attribute
FormatSettings.DateSeparator.
The StrToDate function is overloaded, so you can use it in two ways:
The first form receives only the string and converts to date with the standard ShortDateFormat format.
function StrToDate (const S: string): TDateTime; overload;
The second way to use the function, is to get the string to be converted and the FormatSettings to use.
function StrToDate (const S: string; const FormatSettings: TFormatSettings): TDateTime; overload;
Following Usage example:
procedure TForm1.Button1Click(Sender: TObject);
var
Data: TDateTime;
FormatSettings: TFormatSettings;
begin
FormatSettings.DateSeparator := '-';
FormatSettings.ShortDateFormat := 'dd/mm/yyyy';
Data := StrToDate('01-06-2017', FormatSettings);
ShowMessage(DateToStr(Data));
end;