Проблемы со строками при миграции Delphi 3 на Delphi 2010

У меня есть исходный код старого проекта, и мне нужно изменить мелочи, но у меня были большие проблемы из-за того, что для этого был только delphi 2010.

Определена запись:

bbil = record
  path : string;
  pos: byte;
  nr: Word;
end;

позже это определение используется для чтения из файла:

b_bil: file of bbil;
pbbil: ^bbil;
l_bil : tlist;

while not(eof(b_bil)) do
  begin
    new(pbbil);
    read(b_bil, pbbil^);
    l_bil.add(pbbil);
  end

Основная проблема заключается в том, что компилятор не принимает тип «строка» в записи, потому что он хочет «финализации» . Итак, я попытался заменить «строку» на «строку [255]» или «короткую строку». При этом приложение читает файл, но с неправильным содержимым.

У меня вопрос, как преобразовать старый «строковый» тип, с помощью которого файлы были записаны, в «новые» типы в Delphi 2010.

Я уже много пробовал, например, "{$ H-}". Добавление только одного символа в запись показывает, что файл правильный, потому что файл читается почти правильно, но усекается на один символ больше для каждого набора данных - длина lengthbyte + 255chars кажется правильной для определения, но shortstring не соответствует.

5
задан TLama 17 January 2012 в 08:21
поделиться