Nie można deklarować parametrów łańcuchowych (typu łańcuch-krótki) z wyspecyfikowaną długością, bezpośrednio w liście parametrów formalnych. Na przykład, zapis:
procedure Check(S: string[20]); // błąd składni
powoduje bład kompilacji. Ale zapis:
type TString20 = string[20]; procedure Check(S: TString20);
jest poprawny. Specjalny identyfikator OpenString może byc używany do deklarowania parametrów łańcuchowych (typu łańcuch-krótki) o zmiennej długości:
procedure Check(S: OpenString);
Podczas ustawień dyrektyw kompilatora: {$H–} i {$P+}, słowo string w deklaracjach parametrów jest równoważne OpenString.
Krótkie łańcuchy, OpenString, $H i $P są utrzymywane tylko w celach wstecznej kompatybilności. W perspektywie używania długich łańcuchów, można uniknąć potrzeby powyższych rozważań.