You must pass the Formatsettings you have set as parameter of the Strtodate function.
You also need to assign the separator you want to use to the attribute
Formatsettings.Dateseparator.
Strtodate function has overload, so you can use it in two ways:
The first form takes 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, gets the string to be converted and the Formatsettings to be used.
Function Strtodate(const S: string; const Formatsettings: Tformatsettings): Tdatetime; Overload;
Follow Example of use:
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;