Пишет: "Типизированый файл не может содержать элементы такого типа".
Нужно писать, что за реализацию "Паскаля" вы используете. В "классическом" Борланде
string было синонимом
string[255] и никаких проблем с использованием такой записи в типизированном файле вы бы не имели. Однако ваш Паскаль, очевидно, интерпретирует
string по-другому.
В FreePascal, например, интерпретация
string зависит от настроек компилятора. В режиме
H- она будет синонимом
shortstring и никаких проблем с использованием такой записи в типизированном файле не будет. В режиме
H+ же
string обозначает совсем другое. В этом режиме следует явно в такой записи писать
shortstring, если это то, что вы хотели получить.