In case you want to use an array containing String’s, you can also use it as follows, if you want:
Type
  aStrings = Array Of String; // Utilize um Tipo de Matriz para Parâmetros de Rotinas
...
Procedure Quebra( Input: String; Separador: Char; Var ListString: AStrings );
Var
   Resultado: TStringList;
   idLst: Integer;
Begin
   // Previne que exista elementos maiores que Resultado.Count
   // uma vez que se trata de variável externa.
   SetLength( ListString, 0 );
   Resultado := TStringList.Create;
   Try
      // Utilizada apenas um caractere como delimitador
      Resultado.Delimiter := Separador;
      Resultado.DelimitedText := Input;
      // Define novo tamanho para a matriz
      SetLength( ListString, Resultado.Count );
      For idLst := 0 To Pred( Resultado.Count ) Do
         ListString[ idLst ] := Resultado[ idLst ];
   Finally
      Resultado.Free;
   End;
End;
OR
Procedure Quebra( Input: String; Separador: String; Var ListString: AStrings );
Var
   Resultado: TStringList;
   idLst: Integer;
Begin
   // Previne que exista elementos maiores que Resultado.Count
   // uma vez que se trata de variável externa.
   SetLength( ListString, 0 );
   Resultado := TStringList.Create;
   Try
      // Possibilita que seja utilizada uma sequencia de caracteres como delimitador
      Resultado.Text := StringReplace( Input, Separador, #13#10, [ rfReplaceAll ] );
      // Define novo tamanho para a matriz
      SetLength( ListString, Resultado.Count );
      For idLst := 0 To Pred( Resultado.Count ) Do
         ListString[ idLst ] := Resultado[ idLst ];
   Finally
      Resultado.Free;
   End;
End;
As for the use, it stays like this:
Var
   aTexto: aStrings;
Begin
   Quebra( 'Como quebrar uma string', ' ', aTexto );
   //aTexto[ 0 ] = 'Como'
   //aTexto[ 1 ] = 'quebrar'
   //aTexto[ 2 ] = 'uma'
   //aTexto[ 3 ] = 'string'
End;