String parameters


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ń.